PHP « [PHP] Массив — вывод через запятую
Вывожу через запятую содержимое массива. Как сделать так чтобы после последней записи не было запятой?
1 ответов
// $a - array
end($a); // перемещаем указатель в конец массива
$last = key($a); // получаем последний ключ
foreach ($a as $k => $v){
echo 'something';//
if ($k !== $last) echo ','; // если текущий ключ не последний, выводим запятую
}
<?php
$cats="";
$list_cats="";
end($cats_sep);
$last = key($cats_sep);
foreach ($cats_sep as $i => $c_id){
if ($c_id != ""){
$yybzhgfrcom = "SELECT * FROM cat where cat_id='$c_id'";
$yybzhgfrselcom = mysql_query($yybzhgfrcom);
if ($an = mysql_fetch_array($yybzhgfrselcom)){
$ir = $an["cat_name"];
$ialt = $an["cat_altname"];
$list_cats .= "$ir";
}
if ($i !== $last) $list_cats.=', ';
}
}
ну и если чуть переписать получше...
$sql = "SELECT cat_name FROM cat where cat_id IN (".implode(',', $cats_sep).")";
$names = array();
if ($q = mysql_query($sql)){
while ($cat = mysql_fetch_assoc($q)){
$names[] = $cat["cat_name"];
}
}
echo implode(',', $names);
$names = "SELECT * FROM mytable";
$query_names = mysql_query($names) or die(mysql_error());
$names = array();
while($row = mysql_fetch_assoc($query_names)){
$names[] = $row['name'];
}
echo implode(', ', $names);
$query_names = mysql_query($names) or die(mysql_error());
$names = array();
while($row = mysql_fetch_assoc($query_names)){
$names[] = $row['name'];
}
echo implode(', ', $names);