转换包含单个键对象的数组

时间:2013-07-19 14:35:03

标签: php arrays object

我有一个包含单个关键对象的数组,如下所示:

Array
(
    [0] => stdClass Object
        (
            [state] => 1
        )

    [1] => stdClass Object
        (
            [state] => 1
        )

)

我希望它看起来像这样:

Array
(
    [0] => 1

    [1] => 1

)

最有效的方法是什么?我不太确定如何用简单的词语来解决这个问题,所以我也不能谷歌。

4 个答案:

答案 0 :(得分:3)

您可以使用array_map

$result = array_map(function($object) {
    return $object->state;
}, $originalArray);

答案 1 :(得分:1)

你可以用for循环来做到这一点:

for $array in $val
   $val =$val[state]

答案 2 :(得分:0)

您可以使用array_walk并通过引用传递值:

array_walk($array, function(&$v, $i) { 
    $v = $v->state;
});

array_walk($array, create_function('&$v', '$v = $v->state;'));

答案 3 :(得分:-1)

如果你有一个较新的PHP版本,你可以用foreach循环和引用来做到这一点:

foreach ($array as &$value)
{
  $value = $value->state;
}