How to use implode a column from an array of stdClass objects?

arrays, csv, implode, php, stdclass

Solution

You could use `array_map()` and `implode()`...

$a = array_map(function($obj) { return $obj->foo; }, 
               array(1=>$obj1 , 2=>$obj2 , 3=>$obj3));

$a = implode(", ", $a);

Problem

I have an array of `stdClass` objects and I want to build a comma separated list using one specific field of all those `stdClass` objects. My array looks like this: ``` $obj1 = stdClass Object ( [foo] => 4 [bar] => 8 [foo-bar] => 15 ); $obj2 = stdClass Object ( [foo] => 16 [bar] => 23 [foo-bar] => 42 ); $obj3 = stdClass Object ( [foo] => 76 [bar] => 79 [foo-bar] => 83 ); $a = array(1=>$obj1 , 2=>$obj2 , 3=>$obj3); ``` And I want to implode on `foo` of all the `stdClass` objects in that array to create a comma separated list. So the desired result is: ``` 4,16,76 ``` Is there any way to do this with implode (or some other mystery function) without having to put this array of objects through a loop?

Original source

Related problems