我有一个包含单个关键对象的数组,如下所示:
Array
(
[0] => stdClass Object
(
[state] => 1
)
[1] => stdClass Object
(
[state] => 1
)
)
我希望它看起来像这样:
Array
(
[0] => 1
[1] => 1
)
最有效的方法是什么?我不太确定如何用简单的词语来解决这个问题,所以我也不能谷歌。
答案 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;
}