-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);

阅读内

于 2012-05-29T14:19:48.790 回答