我希望与各大洲,国家和地区建立阵列。结果看起来像这样:
$arr_continent = array(
'7' => array (
'name' => 'Africa',
'countries' => array (
'CG' => array(
'name' => 'Congo',
'areas' => array('a', 'b', 'c')),
'ZF' => array(
'name' => 'South Africa')
'areas' => array('a', 'b', 'c')),
)
),
'2' => array (
'name' => 'North Amercia',
'countries' => array (
'US' => array(
...
我遍历各个国家/地区以填充数组(或至少我正在尝试):
foreach ($countries as $country) {
$arr_continent[$country->continent_id] = array(
'name' => $country->name,
'countries' => array());
$arr_continents[$country->continent_id]['countries'][$country->id] = array(
'name' => $country->name,
...);
}
但我不能让它发挥作用。我还尝试测试continent_id键是否已经在数组中,但是if (! array_key_exists($country->continent_id, $arr_continent)) {
不起作用。
有人能指出我正确的方向吗?
谢谢
答案 0 :(得分:0)
应该很简单
foreach ($countries as $country) {
// init a new continent
if (!isset($arr_continent[$country->continent_id])) {
$arr_continent[$country->continent_id] = array(
'name' => $country->continent_name,
'countries' => array()
);
}
// adding the country
$arr_continent[$country->continent_id]['countries'][$country->id] = array(
'name' => $country->name
'areas' => ...
);
}
首先,如果需要,你可以创建一个新的大陆。您设置名称并创建一个空的国家/地区数组。然后将国家/地区添加到此数组中。