0

我有一个名为 $arr 的数组,当我 print_r($arr) 时它看起来像这样:

Array
(
    [0] => stdClass Object
        (
            [term_id] => 8
            [name] => name0
            [slug] => slug0
        )

    [1] => stdClass Object
        (
            [term_id] => 7
            [name] => name1
            [slug] => slug1
        )

    [2] => stdClass Object
        (
            [term_id] => 6
            [name] => name2
            [slug] => slug2
        )

)

现在,我希望能够在一个数组中获取 [name] 的所有值,以便稍后我可以使用这个数组来过滤一些数据。所以我正在寻找的输出是这样的:

array(0 => 'name0', 1 => 'name1', 2 => 'name2', 3 => 'name3');
4

2 回答 2

2

您可以使用array_map注意:此语法需要 PHP 5.3+)

$names = array_map(function($a){ return $a->name; }, $array);
于 2013-06-19T22:34:47.233 回答
0

第一:$array = (array) $arr;

然后:

foreach($array as $a) {
    $data[] = $a['name'];
}

$data应该包含您正在寻找的数组(没有尝试代码,但应该没问题)。

于 2013-06-19T22:39:25.673 回答