Я хочу массив значений ключа из многомерного массива - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть структура массива, как показано ниже

array
{
     [0]=>
     {
            [name] = "maulik";
            [roleId] = 34;
     }
     [1]=>
     {
            [name] = "ketan";
            [roleId] = 12;
     }
     [2]=>
     {
            [name] = "nitish";
            [roleId] = 40;
     }
     [3]=>
     {
            [name] = "hiren";
            [roleId] = 24;
     }
}

Я хочу массив всех полей roleId с помощью одной функции php. Есть ли какая-либо функция PHP или я должен использовать, как показано ниже?

$roleIds = array();
foreach($users as $user)
{
    $roleIds[] = $user['roleId'];
}

Решение для посетителей из поисковых систем ....

function getRoleIdsAsArray($index)
{
        return $index['roleId'];
}

$roleIds = array_map("getRoleIdsAsArray" , $users);

Ответы [ 2 ]

1 голос
/ 12 февраля 2011

может быть, это подходящее вам решение:

$roleIds = array_map(function($c) {return $c['roleId'];}, $users);

Используется массив_карт , доступный с php 4 и анонимные функции , введенные в php начиная с версии 5.2

1 голос
/ 12 февраля 2011

Вы должны сделать это так. Вы можете превратить это в свою собственную функцию, хотя я не уверен, что вы ищете.

...