PHP:在除最后一个元素之外的每个元素之后显示逗号.使用'for'语句而不是'implode/explode'

Jon*_*han 8 php arrays loops

我有这个简单的for循环来回显一个数组:

for ($i = 0; $i < count($director); $i++) {
   echo '<a href="person.php?id='.$director[$i]["id"].'">'.$director[$i]["name"].'</a>';
}
Run Code Online (Sandbox Code Playgroud)

这里的问题是,当数组中有多个元素时,我得到的所有内容都在没有任何空格的情况下回显.我想用逗号分隔每个元素,除了最后一个.

我无法使用,implode所以我正在寻找另一种解决方案

Tom*_*igh 13

这应该工作.我认为最好只调用count()一次而不是每次循环迭代.

$count = count($director);
for ($i = 0; $i < $count; $i++) {
   echo '<a href="person.php?id='.$director[$i]["id"].'">'.$director[$i]["name"].'</a>';

   if ($i < ($count - 1)) {
      echo ', ';
   }
}
Run Code Online (Sandbox Code Playgroud)

  • 不,你正在添加引号而不是尾随,但它会跳过第一个,所以你不会得到",东西,东西".`for(...){if($ i!= 0){echo",";} echo"stuff";}` (3认同)
  • 每个人总是通过检查`$ i <($ count - 1);`; 我是唯一一个在主回声上方移动支票并检查"$ i!= 0"的人吗? (2认同)