鉴于这个多维数组,我正在尝试检索其中一个子键的值:
$movieCast = Array(
'1280741692' => Array(
...
, 'userid' => 62
, 'country_id' => '00002'
...
)
, '1280744592' => Array(
...
, 'userid' => 62
, 'country_id' => '00002'
...
)
)
如何检索country_id
?
顶级数组键可以是任何内容,country_id
的值对于特定用户始终是相同的。在此示例中,用户#62的country_id
始终为00002
。
答案 0 :(得分:4)
你必须遍历外部数组:
foreach ($outer as $inner) {
//do something with $inner["country_id"]
}
另一种选择是使用contry_id
构建一个数组(示例使用PHP> = 5.3功能,但在早期版本中可以轻松解决):
array_map(function ($inner) { return $inner["country_id"]; }, $outer);
编辑如果ID都相同,那就更容易了。做:
$inner = reset($outer); //gives first element (and resets array pointer)
$id = $inner["country_id"];
答案 1 :(得分:1)
使用php 5.3的更通用的解决方案:
function pick($array,$column) {
return array_map(
function($record) use($column) {
return $record[$column];
},
$array
);
}
答案 2 :(得分:0)
你需要使用它:
array_column($movieCast, 'country_id')
结果将是:
array (
0 => '00002',
1 => '00002',
)