0

以下のようにforeachを使用しています

 foreach($album as $a) { 

$string .= $a['value'].', ';

 }

 echo $string;  

次のようなものを返します

  1, 2, 3,

最後のループから , を削除するにはどうすればよいですか。

したがって、$string は 1、2、3 を返します

4

8 に答える 8

6

使用できますimplode()

$values = array();
foreach ($album as $a){
  $values[] = $a['value'];
}

$string = implode(',', $values);
于 2012-06-26T10:20:11.403 に答える
3

多分あなたはこのようなことをすることができます:

$value = array();
foreach($album as $a) { 
    array_push($value, $a['value']);
 }

echo join(',', $value); // join by comma
于 2012-06-26T10:19:37.383 に答える
2

rtrim()これを行う ために使用できます

rtrim($string, ',');
echo $string;

仕事をするべきです。

于 2012-06-26T10:19:24.397 に答える
0
$first = TRUE;
$string = '';
foreach($album as $a) {  
    if ($first) {
        $first = FALSE;
    } else {
        $string .= ', ';
    }
    $string .= $a['value']; 
} 
于 2012-06-26T10:19:59.823 に答える
0

この場合は for ループの方が適しているため、最後の要素に for ループを追加することを避けることができます。

ただし、文字列を右にトリムすることはできます。

于 2012-06-26T10:20:16.313 に答える
0

最適な方法であるを使用したくない場合はimplode()、一時変数を作成できます。

foreach($album as $a){ 
    $string .= $addStr . $a['value'];
    $addStr = ',';
}
于 2012-06-26T10:24:51.077 に答える
-1

試す:

$string = preg_replace('#, $#', '', $string);
于 2012-06-26T10:21:04.573 に答える
-1

最も簡単な方法:

foreach($album as $a){ 
    $string .= $a['value'].', ';
}

$string = substr($string, 0, -2);
echo $string;  

substrの詳細はこちら

于 2012-06-26T10:21:16.303 に答える