php,如何将包含 stdClass 对象的数组转换为逗号分隔列表

php, how to convert an array containing stdClass Object into comma separated list

当我 print_r $output 我得到以下内容

Array ( [0] => stdClass Object ( [id] => foo ) [1] => stdClass Object ( [id] => bar ) [2] => stdClass Object ( [id] => foobar ))

我正在尝试做一些我认为很简单的事情,并将 $output 转换为

foo, bar, foobar 

我已经尝试使用 for each statements 如下所示

foreach($array as $row){
   $new_array[$row['nid']] = $row['nid'];
}
print_r($new_array);

但我只是无效 php。

我在这里尝试使用 arraywalk 和其他示例,但没有任何效果。

那么如何将下面的数组转换成一个简单的 ID 列表呢? 感谢您的帮助

除了逗号分隔的列表,理论上你所拥有的应该可以工作,但代码与你的数组完全不匹配。你说 $object 不是 $array 并且 属性 是 id 而不是 nid.

但是,只需提取 id 列并内爆。如果你有 PHP 7:

$list = implode(', ', array_column($output, 'id'));

旧版本:

$list = implode(', ', array_map(function($v) { return $v->id; }, $output));