2

,我有一个 PHP while LOOP ,echo '],';如果它是最后一个循环,我想删除最后一个逗号

            while($ltr = mysql_fetch_array($lt)){
                echo '[';
                echo $ltr['days']. ' ,'. $ltr['name'];
                echo '],';
            }
4

9 回答 9

7

创建一个包含元素的数组,使它们看起来像array = ([ELEMENT INFO], [ELEMENT INFO], [ELEMENT INFO]),然后implode用逗号创建数组。

于 2013-02-05T06:17:34.717 回答
6
$str = '';
while($ltr = mysql_fetch_array($lt)){
    $str .= '[';
    $str .= $ltr['days']. ' ,'. $ltr['name'];
    $str .= '],';
}

echo rtrim($str, ",");

,这将从字符串中删除最后一个

于 2013-02-05T06:19:05.527 回答
4

我认为系统解决方案如下:

$separator = '';
while($ltr = mysql_fetch_array($lt)){
    echo $separator;
    echo '[';
    echo $ltr['days']. ' ,'. $ltr['name'];
    echo ']';
    if (!$separator) $separator = ', ';
}

无需调用count(),无需额外迭代implode(),无需额外的字符串操作,为任何(不可预测的)结果做好准备。

于 2013-10-11T08:57:38.177 回答
3
$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 ',';
    }
}
于 2013-02-05T06:19:38.773 回答
1

检查您有多少条目,创建一个“计数器”和一个条件,以便仅在逗号不是最后一个循环时放置逗号。

于 2013-02-05T06:19:10.690 回答
1
$arr = array();
while($ltr = mysql_fetch_array($lt)){
    $arr[] = '[' . $ltr['days'] . ' ,' . $ltr['name'] . ']';
}

echo implode(',', $arr);
于 2013-02-05T06:40:10.110 回答
1
$res_array = array();

while($ltr = mysql_fetch_array($lt)){
   $res_array[] = '['.$ltr['days']. ' ,'. $ltr['name'].']';
}

$str = implode(",",$res_array);
echo $str; 
于 2013-02-05T06:43:45.017 回答
1

将响应保存为 var 而不是回显它,然后使用 substr 删除末尾的最后一个字符。

      $response = "";
       while($ltr = mysql_fetch_array($lt)){
            $response .= '[';
            $response .= $ltr['days']. ' ,'. $ltr['name'];
            $response .= '],';
        }
      echo substr($response, 0, -1);
于 2013-02-05T06:44:37.013 回答
0
//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 ',';
    }
}
于 2016-10-28T10:35:01.223 回答