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

问题描述 投票:0回答:1

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

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

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

foo, bar, foobar 

我已经尝试将每个语句用于下面的内容

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

但是我只是得到无效的PHP。

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

因此,如何将以下数组转换为简单的ID列表?感谢您的帮助

php arrays stdclass
1个回答
0
投票

除了用逗号分隔的列表,理论上您应该可以使用,但是代码根本与您的数组不匹配。您声明的是$object而不是$array,并且属性是id而不是nid

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

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

对于旧版本:

$list = implode(', ', array_map(function($v) { return $v['id']; }, $output));
© www.soinside.com 2019 - 2024. All rights reserved.