我想要一个来自多维数组的键的值数组

时间:2011-02-12 06:57:02

标签: php multidimensional-array key-value-coding

我有一个如下所示的数组结构

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

我想通过一个php函数获取所有roleId字段的数组。有没有可用的PHP功能,或者我必须使用如下所示?

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

来自搜索引擎的访问者的解决方案....

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

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

2 个答案:

答案 0 :(得分:1)

你必须这样做。您可以将其转换为您自己的功能,但我不确定您是否正在寻找它。

答案 1 :(得分:1)

也许这个是适合你的解决方案:

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

它使用array_map,自php 4以来可用,anonymous functions从版本5.2开始引入php