0

私はこのような配列を持っています:

[participants] => Array
    (
        [0] => 9
        [1] => 8
        [2] => 12
    )

次のように別の変数に入れたい:

「9,8,12」

以下のコードを試してみましたが、何も出力されません。

$mem = "";
for($i = 0; $i < count($participants); $i++)
{
    $mem.$participants[$i];
}

echo $mem;

何が問題になる可能性がありますか?

4

4 に答える 4

2

最も簡単な方法はimplodeを使用することです:

implode(',', $participants);

コードでは、次のように連結を使用する必要があります。

$mem .= $participants[$i].',';

ただし、次のように foreach を使用することをお勧めします。

$mem = "";
foreach ($participants as $key => $value){
    $mem .= $value.',';
}

そのようにループしている場合は、完了したら最後のコンマを取り除く必要があります。

$mem = rtrim($mem, ',');
于 2013-08-07T21:47:20.150 に答える
1

PHP のimplode関数を使用します。

$s = implode(",", $participants);

コードが機能しない理由は、 に対して何もしないためです$mem。文字列を文字列に追加するには、次の.=演算子を使用します。

$mem .= $participants[$i];

コンマなしで、すべてを接着するだけであることがわかります。

于 2013-08-07T21:48:05.567 に答える
1

コードを修正します。結果を何にも割り当てない

$mem = $mem. "," .$participants[$i];

また

$mem .=  "," . $participants[$i];

しかし、内破はより良い解決策です

また、ループ方法では、開始(または終了)のコンマを削除する必要があります

于 2013-08-07T21:50:11.193 に答える