-1

重複の可能性:
PHP のコンマ区切りリスト

問題:

サイズが不明なリストを反復処理して、カンマ区切りのリストを吐き出したい。

例えば:

Input:
  $data = array();
  $data[0]['productId'] = 11;
  $data[1]['productId'] = 22;
  $data[2]['productId'] = 33;
  $data[3]['productId'] = 44;

次のコードはトリックを行います。

$prodsToCheck = "";
foreach ($data as $d) {
  $prodsToCheck .= $d['productId'].", ";
}
$prodsToCheck = substr($prodsToCheck, 0, strlen($prodsToCheck) - 2); // THIS IS THE IMPORTANT PART

print $prodsToCheck; die();

結果は

11、22、33、44

ではない:

11、22、33、44、

これはこれを行うための最速の方法ではありません...何ですか?

4

2 に答える 2

3

あなたの例とコードは一貫性がないため、問題が単純すぎるため、例を無視することにしました。

implode、array_map、および次のような無名関数を使用できます。

$prodsToCheck = implode(
   ", ", 
   array_map(
       function($element) { return $element['productId'];}, 
       $data));

完全にテストされておらず、php 5.3+ で動作するはずです

于 2012-05-29T14:21:40.977 に答える
1

print implode(", ", $array);

implodeを読んでください。

于 2012-05-29T14:19:48.790 に答える