Ответ 1
Извините, я не задал свой вопрос должным образом. Тент, который работал у меня, -
implode(', ', $_GET);
Спасибо, giodamelio
У меня есть петля вроде
foreach ($_GET as $name => $value) {
echo "$value\n";
}
И я хочу добавить запятую между каждым элементом, чтобы она закончилась так.
var1, var2, var3
Поскольку я использую foreach
, я не могу сказать, на каком итерационном номере я нахожусь.
Как я могу это сделать?
Извините, я не задал свой вопрос должным образом. Тент, который работал у меня, -
implode(', ', $_GET);
Спасибо, giodamelio
Просто создайте свой вывод с помощью foreach
, а затем взорвите этот массив и выведите результат:
$out = array();
foreach ($_GET as $name => $value) {
array_push($out, "$name: $value");
}
echo implode(', ', $out);
Вот так:
$total = count($_GET);
$i=0;
foreach ($_GET as $name => $value) {
$i++;
echo "$name: $value";
if ($i != $total) echo', ';
}
Объяснено: вы находите общее количество всех значений по count(). При запуске цикла foreach() вы считаете итерации. Внутри цикла вы говорите ему "эхо", когда итерация не является последней (не равна суммарному счету всех значений).
$comma_separated = implode(", ", $_GET);
echo $comma_separated;
вы можете использовать implode и достичь этого
Вы также можете сделать это следующим образом:
$output = '';
foreach ($_GET as $name => $value) {
$output = $output."$name: $value, ";
}
$output = substr($output, 0, -2);
Это просто делает одну огромную строку, которую вы можете выводить. Различные методы для разных стилей, действительно.
Я обычно делал бы что-то вроде этого (псевдокод):
myVar
for... {
myVar = i + ","
}
myVar = trimOffLastCharacter(myVar)
echo myVar