我有一个搜索数据库并生成以下数组的页面。我希望能够循环遍历数组并选择下一个分配给键“contact_id”的值并对其执行某些操作,但我不知道如何进入该级别的数组。
数组是动态生成的,因此根据我在“values”下搜索索引号的内容会相应地改变。
我想我必须从值开始做一个foreach,但我不知道如何在数组的子级开始foreach。
Array (
[is_error] => 0
[version] => 3
[count] => 2
[values] => Array (
[556053] => Array (
[contact_id] => 556053
[contact_type] => Individual
[first_name] => Brian
[last_name] => YYY
[contact_is_deleted] => 0
)
[596945] => Array (
[contact_id] => 596945
[contact_type] => Individual
[first_name] => Brian
[last_name] => XXX
[contact_is_deleted] => 0
)
)
)
我查看了以下帖子,但它似乎只解决了数组索引是顺序的情况。 Multidimensional array - how to get specific values from sub-array
有什么想法吗?
布赖恩
答案 0 :(得分:3)
你的假设是正确的。你可以这样做:
foreach($array['values'] as $key => $values) {
print $values['contact_id'];
}
这应该证明从子级别开始。我还会添加你的支票,看看它是否为空,如果它是一个数组......等等。
答案 1 :(得分:3)
关于语法的另一个提示 - 如果原始示例中的数组名为$ a,那么您想要的值就在这里:
$a['values'][556053]['contact_id']
在这里:
$a['values'][596945]['contact_id']
因此,如果您的数组中没有其他结构,那么这个循环可能就是您想要的:
foreach ($a['values'] as $toplevel_id => $record_data) {
print "for toplevel_id=[$toplevel_id], contact_id=[" . $record_data['contact_id'] . "]\n";
}
答案 2 :(得分:1)
foreach($array['values'] as $sub_arr){
echo $sub_arr['contact_id'];
}