I am dynamically trying to populate a multidimensional array and having some trouble.
I have a list of US states. Associative array like this $states[nc], $states[sc
In PHP, you can fill an array without referring to the actual index.
$newArray = array();
foreach($var in $oldArray){
$newArray[] = $var;
}
foreach($states as $state) {
$data[$state] = $state;
foreach($state->cities as $city) {
$data[$state][] = $city;
}
}
Using empty brackets adds an element to the array.
To add an element, use empty brackets.
foreach($states as $state) {
foreach($cities as $city) {
$data[$state][] = $city;
}
}
This will create an array like this
array(
'nc' => array('city1', 'city2', ...),
'sc' => array('city1', 'city2', ...)
)
See manual under "Creating/modifying with square bracket syntax"
The same way you add to an array when the key is not a concern:
$data[$state]['cities'][] = $city;