我有一个多维数组,问题是我想要特定键的数组值。我已经尝试了对我来说无用的数组的current()和end()。所以请建议我适当的解决方案,以查找特定键的数组值,而无需使用任何循环。我的演示阵列是
Array
(
[0] => Array
(
[EntityType] => Array
(
[Id] => 1
[Code] => SUP/13-14/10001
[Name] => Supplier
[DisplayName] => Supplier
[ModuleIdentifier] => 1
[IsAdd] =>
[IsEdit] => 1
[IsDelete] => 1
)
)
[1] => Array
(
[EntityType] => Array
(
[Id] => 2
[Code] => Emp/13-14-10002
[Name] => Employee
[DisplayName] => Employee
[ModuleIdentifier] => 1
[IsAdd] =>
[IsEdit] =>
[IsDelete] =>
)
)
[2] => Array
(
[EntityType] => Array
(
[Id] => 3
[Code] => CUS/13-14/10003
[Name] => Customer
[DisplayName] => Customer
[ModuleIdentifier] => 1
[IsAdd] => 1
[IsEdit] =>
[IsDelete] =>
)
)
)
我想要名为Customer的数组。那么如何获得这些阵列...... 谢谢!
答案 0 :(得分:1)
您可以将array_filter
与array_map
结合使用:
function findElem($array, $val) {
$result = array_map(
function ($v) { return $v['EntityType']; },
array_filter($array, function ($v) use($val) { return $v['EntityType']['Name'] == $val; })
);
return count($result)? $result[0] : false;
}
print_r(findElem($array, 'Customer'));
答案 1 :(得分:0)
如果您想访问数组的第n个元素,请尝试使用:
$array[n]
其中n
是整数值,所以:
$array[2]
答案 2 :(得分:0)
您可以像这样访问您的数组数据:$array[0]["EntityType"]["ID"]
。
答案 3 :(得分:0)
此行将为您提供键的所有值"名称"假设您的源数组名为$arr
,如果这是您想要的:
$names = array_map( function($item) { return $item["EntityType"]["Name"]; } , $arr );