2013-07-19 2 views
2

У меня есть массив, содержащий отдельные ключевые объекты, как так:новообращенный массив, содержащий один ключевой объект

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

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

) 

Я хочу, чтобы она выглядела так:

Array 
(
    [0] => 1 

    [1] => 1 

) 

Что является наиболее эффективным способом делая это? Я не совсем уверен, как поставить эту проблему простыми словами, поэтому я тоже не могу это сделать.

ответ

3

Вы можете использовать array_map:

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

звучит хорошо для меня! : D – Ortix92

1

вы можете сделать это с циклом:

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

Если вы получили один из новых версий PHP вы можете сделать это с помощью цикла Еогеаспа и a Ссылка:

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

Вы можете использовать array_walk и передать это значение refe Renče:

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

или

array_walk($array, create_function('&$v', '$v = $v->state;')); 
Смежные вопросы