Получать массив из одного свойства из ассоциативного массива лучшие практики


У меня есть массив объектов, например.

[ массив( 'идентификатор' => 1, 'имя' => "Симон" ), ... ]

и мне нужно получить массив идентификаторов, например. [1,2,3,4,5];

В настоящее время я делаю это:

    $entities = $this->works_order_model->get_assigned_entities($id);

    $employee_ids = array();

    foreach ($entities as $entity) {
        array_push($employee_ids, $entity->id);
    }       

Есть ли лучшие практики способ сделать это?



625
3
задан 6 сентября 2011 в 05:09 Источник Поделиться
Комментарии
1 ответ

Я думаю, что использование array_map является то, что вы ищете:

php > $aa = array (array ("id" => 1, "name" => 'what'), array('id' => 2));
php > function id($i) { return $i['id'];};
php > print_r(array_map ('id', $aa));
Array
(
[0] => 1
[1] => 2
)

2
ответ дан 6 сентября 2011 в 02:09 Источник Поделиться