我正在动态尝试填充多维数组并遇到一些麻烦。
我有一份美国州名单。像我这样的$ states [nc],$ states [sc]等关联数组我希望将城市附加到每个州,所以$ states [nc] [cities]包含一系列城市。我坚持逻辑。
foreach($states as $state) {
$data[$state] = $state;
foreach($cities as $city) {
$data[$state]['cities'] .= $city;
}
}
我知道连接不正确,但我不确定如何向此数组添加元素。我一直在使用array_push收到错误。
添加这些元素的正确方法是什么?
答案 0 :(得分:14)
当密钥不是问题时,添加到数组的方式相同:
$data[$state]['cities'][] = $city;
答案 1 :(得分:10)
在PHP中,您可以在不参考实际索引的情况下填充数组。
$newArray = array();
foreach($var in $oldArray){
$newArray[] = $var;
}
答案 2 :(得分:2)
要添加元素,请使用空括号。
foreach($states as $state) {
foreach($cities as $city) {
$data[$state][] = $city;
}
}
这会创建一个像这样的数组
array(
'nc' => array('city1', 'city2', ...),
'sc' => array('city1', 'city2', ...)
)
请参阅“使用方括号语法创建/修改”
下的manual答案 3 :(得分:1)
foreach($states as $state) {
$data[$state] = $state;
foreach($state->cities as $city) {
$data[$state][] = $city;
}
}
使用空括号为数组添加元素。