Arrays can get complicated pretty quickly. Here’s a quick lowdown on how they are made and accessed.
<!DOCTYPE html>
<html>
<body>
<?php
// Standard Array
$my_keys = [ 'key1', 'key2' ];
$my_colors_array = [ 'blue' => 'sky', 'green' => 'salad', 'yellow' => 'pee' ];
// Adding an associative array to each key.
foreach ( $my_keys as $my_key ) {
$my_complex_array[$my_key] = array(
// You can use a var as the key and the value.
'product_name' => 'MyProduct',
// This just sets up this key with an empty array.
'product_colors' => array(),
'product_sizes' => array(),
);
}
// Adding values to the array.
foreach ( $my_keys as $my_key ) {
$my_complex_array[$my_key]['product_colors'][] = 'some new value prob use a var';
$my_complex_array[$my_key]['product_colors'][] = 'some OTHER one';
// You can concatinate into a value with .=
$my_complex_array[$my_key]['product_colors'][1] .= ' - concatinated!';
// You can add as many other arrays as you want as a value
$my_complex_array[$my_key]['product_sizes'][] = $my_colors_array;
// You can also declare the key
$my_complex_array[$my_key]['product_sizes']['rad_key'] = $my_colors_array;
// Add to the child array
$my_complex_array[$my_key]['product_sizes']['rad_key']['pink'] = 'heart';
}
print("<pre>".print_r($my_complex_array,true)."</pre>");
?>
</body>
</html>
The output
Array
(
[key1] => Array
(
[product_name] => MyProduct
[product_colors] => Array
(
[0] => some new value prob use a var
[1] => some OTHER one - concatinated!
)
[product_sizes] => Array
(
[0] => Array
(
[blue] => sky
[green] => salad
[yellow] => pee
)
[rad_key] => Array
(
[blue] => sky
[green] => salad
[yellow] => pee
[pink] => heart
)
)
)
[key2] => Array
(
[product_name] => MyProduct
[product_colors] => Array
(
[0] => some new value prob use a var
[1] => some OTHER one - concatinated!
)
[product_sizes] => Array
(
[0] => Array
(
[blue] => sky
[green] => salad
[yellow] => pee
)
[rad_key] => Array
(
[blue] => sky
[green] => salad
[yellow] => pee
[pink] => heart
)
)
)
)