你好我是新手数组有人可以帮忙吗?我有阵列中的数组。 我如何只从[permissions]数组中获取所有[key]数据。
Array
(
[name] => john
[password] => 150211444
[permissions] => Array
(
[0] => Array
(
[key] => 2
[moduleId] => 13
[permission] => 1
)
[1] => Array
(
[key] => 3
[moduleId] => 13
[permission] => 1
)
[2] => Array
(
[key] => 8
[moduleId] => 13
[permission] => 1
)
)
)
答案 0 :(得分:2)
你可以做到
$keys = array();
foreach($arr['permissions'] as $key => $value){
$keys[] = $value["key"]
}
和$keys
是一个包含所有[key]
值
答案 1 :(得分:1)
继承了我的更正答案 使用常量或变量作为索引名称,首先使用array_key_exists检查array-key(而不是使用isset)
const INDEX_PERMISSIONS = 'permissions';
const INDEX_KEY = 'key';
$keys = array();
if(true === array_key_exists(INDEX_PERMISSIONS, $array)) {
$inner = $array[INDEX_PERMISSIONS];
if(null != $inner && is_array($inner)) {
foreach($inner as $inner_values) {
if(null !== $inner_values && is_array($inner_values) && array_key_exists(INDEX_KEY, $inner_values)) {
$keys[] = $inner_values[INDEX_KEY];
}
}
}
}
print_r($keys);
答案 2 :(得分:0)
假设您知道它始终被称为permissions
,并假设您正在创建一个名为$myArray
的var来解析:
<?php
foreach($myArray['permissions'] as $record)
{
echo $record['key'];
}
?>
答案 3 :(得分:0)
function iter($item, $key) {
echo $key, $item['permission'], PHP_EOL;
}
array_walk($array['permissions'], 'iter');