如何检查数组的子键中是否存在键?如果找到该项的该键,则返回该项?
例如,我有这个数组,
Array
(
[0] => Array
(
[a] => Array
(
[quantity_request] => 1
[time_created] => 1339688613
[variant] => Array
(
)
)
)
[1] => Array
(
[b] => Array
(
[quantity_request] => 1
[time_created] => 1339688631
[variant] => Array
(
)
)
)
[2] => Array
(
[c] => Array
(
[quantity_request] => 1
[time_created] => 1339688959
[variant] => Array
(
)
)
)
)
我想找到键'b'并返回其下的所有内容,就像我正在追求的那样,
[b] => Array
(
[quantity_request] => 1
[time_created] => 1339688631
[variant] => Array
(
)
)
我尝试了这个,但没有任何回报,
if (array_key_exists('b', $this->content)) {
echo "The 'b' element is in the array";
}
有什么想法吗?
答案 0 :(得分:1)
function get_letter($letter){
foreach($this->content as $v){
if(array_key_exists($letter, $v) {
return $v[$letter];
}
}
return false;
}
$array = get_letter('a');
答案 1 :(得分:0)
难道你不能只是遍历外部数组,检查内部的每个数组中的密钥吗?
foreach($this->content as $arr) {
if(array_key_exists('b', $arr) {
echo "Found it";
}
}
答案 2 :(得分:0)
foreach()根数组,然后是array_key_exists()。
foreach ($array as $key => $value) {
if (array_key_exists('b', $array[$key])) {
return $array[$key]['b'];
}
}
答案 3 :(得分:0)
这里的代码看起来不错,但是我想知道数组的来源或定义的位置?一个可能缩小范围的建议是在$ this->内容上使用is_array以确保它是一个正确的数组。
答案 4 :(得分:0)
我实际上不会使用它,因为它不是很明确的代码,但是,对于php 5.4来说,这是一个很酷的内容。
$val = call_user_func_array('array_merge', $array)['b'];