更多声明性PHP:数组转换

时间:2012-10-02 10:26:41

标签: php arrays

我有一个类对象数组:

class Foo
{
    public $A;
    public $B;
    public $C;
}

我需要一个新的C字段数组。有没有办法转换数组没有显式循环?在C#之后讨厌这个。

// Explicit conversion:
foreach ($arr as $item)
{
    $Cs[] = $item->C;
}

此致

2 个答案:

答案 0 :(得分:8)

$Cs = array_map(function($item) {
    return $item->C;
}, $arr);

答案 1 :(得分:0)

我相信你可以使用get_object_vars

$arr = get_object_vars(new Foo());
var_dump($arr); // should give Array(3) { "A"=>NULL, "B"=>NULL, "C"=>NULL }