PHP-从最后一个循环中删除逗号
我有一个PHP while循环,我想从PHP-从最后一个循环中删除逗号,php,while-loop,Php,While Loop,我有一个PHP while循环,我想从echo'],'中删除最后一个逗号,如果是最后一个循环 while($ltr = mysql_fetch_array($lt)){ echo '['; echo $ltr['days']. ' ,'. $ltr['name']; echo '],'; } 创建一个包含元素的数组,让它们看起来像array=([ELE
echo'],'中删除最后一个逗号,
代码>如果是最后一个循环
while($ltr = mysql_fetch_array($lt)){
echo '[';
echo $ltr['days']. ' ,'. $ltr['name'];
echo '],';
}
创建一个包含元素的数组,让它们看起来像array=([ELEMENT INFO],[ELEMENT INFO],[ELEMENT INFO])
然后使用逗号对数组进行内爆
$str = '';
while($ltr = mysql_fetch_array($lt)){
$str .= '[';
$str .= $ltr['days']. ' ,'. $ltr['name'];
$str .= '],';
}
echo rtrim($str, ",");
这将从字符串中删除最后一个,
,检查您有多少个条目,创建一个“计数器”,并设置一个条件,仅在逗号不是最后一个循环时放置逗号 $result=mysql\u fetch\u数组($lt);
$result = mysql_fetch_array($lt);
for ($i=0;$i<=(count($result)-1);$i++) {
$ltr = $result[$i];
echo '[';
echo $ltr['days']. ' ,'. $ltr['name'];
echo ']';
if(!count($result)-1 == $i){
echo ',';
}
}
对于($i=0;$i将响应另存为变量,而不是回显它,然后使用substr删除结尾处的最后一个字符
$response = "";
while($ltr = mysql_fetch_array($lt)){
$response .= '[';
$response .= $ltr['days']. ' ,'. $ltr['name'];
$response .= '],';
}
echo substr($response, 0, -1);
我认为系统解决方案如下:
$separator = '';
while($ltr = mysql_fetch_array($lt)){
echo $separator;
echo '[';
echo $ltr['days']. ' ,'. $ltr['name'];
echo ']';
if (!$separator) $separator = ', ';
}
无需调用count()
,无需额外迭代内爆()
,无需额外的字符串操作,可用于任何(不可预测的)数量的结果。//此操作有效
//this one works
$result = mysql_fetch_array($lt);
for ($i=0;$i<=(count($result)-1);$i++) {
$ltr = $result[$i];
echo '[';
echo $ltr['days']. ' ,'. $ltr['name'];
echo ']';
if(count($result)-1 != $i){
echo ',';
}
}
$result=mysql\u fetch\u数组($lt);
对于($i=0;$ido不使用mysql.*。试试PDO::这个方法会产生最好的代码,我没有任何理由认为它会比任何其他不那么优雅的方法效率低,除了可能有大量元素。我喜欢这个答案,而不是使用rtrim,因为你不必维护一个与不推荐使用循环中的ds.mysql,请使用mysqli或PDO
$separator = '';
while($ltr = mysql_fetch_array($lt)){
echo $separator;
echo '[';
echo $ltr['days']. ' ,'. $ltr['name'];
echo ']';
if (!$separator) $separator = ', ';
}
//this one works
$result = mysql_fetch_array($lt);
for ($i=0;$i<=(count($result)-1);$i++) {
$ltr = $result[$i];
echo '[';
echo $ltr['days']. ' ,'. $ltr['name'];
echo ']';
if(count($result)-1 != $i){
echo ',';
}
}