Вот мой простой код:
<?php
$components=array(
1 => 'Carrot', 'Apple', 'Orange',
2 => 'Boiled Egg', 'Omelet',
3 => 'Ice Cream', 'Pancake', 'Watermelon'
);
echo'<pre>';
var_dump($components);
echo'</pre>';
выход :
array(6) {
[1]=>
string(6) "Carrot"[2]=>
string(10) "Boiled Egg"[3]=>
string(9) "Ice Cream"[4]=>
string(6) "Omelet"[5]=>
string(7) "Pancake"[6]=>
string(10) "Watermelon"}
'Apple'
& 'Orange'
?Сделайте массив, как это,
$components=array(
1 => ['Carrot', 'Apple', 'Orange'],
2 => ['Boiled Egg', 'Omelet'],
3 => ['Ice Cream', 'Pancake', 'Watermelon']
);
А теперь проверь свой массив.
Вы должны организовать свой массив следующим образом:
$components = array(
1 => array(
1 => 'Carrot',
2 => 'Apple',
3 => 'Orange'
),
2 => array(
1 => 'Boiled Egg',
2 => 'Omelet'
),
3 => array(
1 => 'Ice Cream',
2 => 'Pancake',
3 => 'Watermelon'
),
);
Тогда вы сможете получить: $components[1][2] = 'Apple'
Исходя из заданного вами синтаксиса, он формирует одномерный массив, а не многомерный массив.
Попробуй это:
$components=array(
1 => array('Carrot', 'Apple', 'Orange'),
2 => array('Boiled Egg', 'Omelet'),
3 => array('Ice Cream', 'Pancake', 'Watermelon')
);
<?php
$components=array(
1 => ['Carrot', 'Apple', 'Orange'],
2 => ['Boiled Egg', 'Omelet'],
3 => ['Ice Cream', 'Pancake', 'Watermelon']
);
echo "<pre>";
print_R($components);
?>