2

私はクラスオブジェクトの配列を持っています:

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

C フィールドの新しい配列が必要です。明示的なループなしで配列を変換する方法はありますか? C#の後は嫌いです。

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

よろしく、

4

2 に答える 2

8
$Cs = array_map(function($item) {
    return $item->C;
}, $arr);
于 2012-10-02T10:28:37.737 に答える
0

使えると思いますget_object_vars

$arr = get_object_vars(new Foo());
var_dump($arr); // should give Array(3) { "A"=>NULL, "B"=>NULL, "C"=>NULL }
于 2012-10-02T10:34:14.420 に答える