繁体   English   中英

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 

我已经尝试使用每个语句,如下所示

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM