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
$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

Save the response as a var instead of echoing it and then remove the final character at the end using 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 に答える
1
$arr = array();
while($ltr = mysql_fetch_array($lt)){
    $arr[] = '[' . $ltr['days'] . ' ,' . $ltr['name'] . ']';
}

echo implode(',', $arr);
于 2013-02-05T06:40:10.110 に答える
1

エントリの数を確認し、「カウンター」を作成し、最後のループではない場合にのみコンマを配置する条件を作成します。

于 2013-02-05T06:19:10.690 に答える
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 に答える