Я пытаюсь добавить элемент массива в массив, если какое-либо условие встречается, прежде чем я вытащу этот массив в другой массив. Сейчас он добавляет значение как отдельный массив и не находится в том же массиве.Добавление записи в многоэлементный массив
<?php
for ($i = 0; $i < 4; $i++) {
$ret1[] = array("A" . $i, "B" . $i);
if ($i > 2) {
$ret1[] = array("C" . $i);
}
}
print_r($ret1);
?>
Текущий результат:
Array
(
[0] => Array
(
[0] => A0
[1] => B0
)
[1] => Array
(
[0] => A1
[1] => B1
)
[2] => Array
(
[0] => A2
[1] => B2
)
[3] => Array
(
[0] => A3
[1] => B3
)
[4] => Array ( [0] => C3 )
)
Ожидаемый результат:
Array
(
[0] => Array
(
[0] => A0
[1] => B0
)
[1] => Array
(
[0] => A1
[1] => B1
)
[2] => Array
(
[0] => A2
[1] => B2
)
[3] => Array
(
[0] => A3
[1] => B3
[2] => C3
)
)
Просто создайте инструкцию if/else, и если условие выполнено, вы добавите все 3 значения внутри массива, например. '$ ret1 [] = array (a, b, c)', и вы просто добавляете a и b как массив. – Rizier123
Что не работает над вашим примером? –
[array_push] (http://php.net/manual/en/function.array-push.php) должен работать, просто помните, что первый аргумент, как ожидается, будет единственным массивом измерений, поэтому, если вы хотите добавить к массивам второго уровня, вам понадобится 'array_push ($ ret1 [INDEX], VALUE)' –