public static function pluck($array, $key)
{
$return = array();
foreach ($array as $obj) {
if (is_object($obj) && method_exists($obj, $key)) {
$return[] = $obj->{$key}();
} elseif (is_object($obj) && property_exists($obj, $key)) {
$return[] = $obj->{$key};
} elseif (isset($obj[$key])) {
$return[] = $obj[$key];
}
}
return $return;
}
function testPluckObject() { $billy = new stdClass(); $billy->name = 'Billy Corgan'; $billy->instrument = 'guitar'; $jimmy = new stdClass(); $jimmy->name = 'Jimmy Chamberlin'; $jimmy->instrument = 'drums'; $pumpkins = array($billy, $jimmy); $instruments = \Timber\Helper::pluck($pumpkins, 'instrument'); $this->assertEquals(array('guitar', 'drums'), $instruments); }