Привет, ребята, я должен это сделать,
У меня общая петля
foreach ($stuffs as $stuff) { echo $stuff; }
Давайте предположим, что $ stuff – это 'id' таблицы mysql, что у меня есть, и я не хочу, чтобы его показывали в следующих результатах, поэтому я хочу построить строку, подобную этой
1,23,54,67 (comma separated)
Таким образом, строка будет в запросе mysql для исключения результатов, которые уже были показаны. Как я могу это сделать?
Должен быть с развязкой? Как я могу это достичь?
implode должен быть инструментом:
implode(",", $stuffs);
вернет список, разделенный запятыми.
$myarray=array(1,2,"hello",4,5); echo implode(",", $myarray);
возвращается
1,2,hello,4,5
Должно быть так просто:
$string = implode(",",$stuffs); echo $string
Если вы действительно хотите иметь цикл:
$values = ""; foreach ($stuffs as $stuff) { $values != "" && $values .= ","; $values .= $stuff; } echo $values;
Я предлагаю использовать implode, но цикл может дать вам больше энергии, если вы хотите сделать что-то еще.
Это сработало в моем случае (определяет, не является ли последняя итерация цикла):
foreach($array as $key => $val){ ... if($key!==count($array)-1){echo ',';} }