Я хочу использовать array_push() для добавления в массив, но он всегда добавляет уровень [0] => Array
. Как я могу предотвратить это или убрать это потом?
Например, я пытаюсь вставить в «[addOns] => Array» следующее:
$addOnid='gcl1';
$addOnid_arr=array('inheritedFromId' => $addOnid);
array_push($result['addOns'], $addOnid_arr);
Результатом array_push является следующее:
Array
(
[addOns] => Array
(
[inheritedFromId] => gcl2
)
[0] => Array
(
[inheritedFromId] => gcl1
)
)
И хочу сделать это:
Array
(
[addOns] => Array
(
[inheritedFromId] => gcl2
)
(
[inheritedFromId] => gcl1
)
)
... в основном просто избавляясь от всех [0] => Array
, перемещая все подмассивы на уровень выше.
Возможно, я использовал неправильные запросы, но я не смог узнать, как это сделать.
Просто используйте это вместо этого:
$addOnid = 'gcl1';
$addOnid_arr['addOns'][] = ['inheritedFromId' => $addOnid];
Я переосмысливаю это. Может быть, первый «inheritedFromId» действительно должен быть пронумерован, чтобы второй был последовательным и оставался на том же уровне массива? Вместо того, чтобы пытаться избавиться от нумерации, пойти с ней? Итак, я бы получил: '( [addOns] => Array ( [0] => Array ( [inheritedFromId] => gcl2), [1] => Array ( [inheritedFromId] => gcl1 )) )'
@jamminjames это должно быть пронумеровано. или вместо этого вы можете использовать $addOnid в качестве ключа массива
Ладно, теперь становится ясно. То, что я считал багом, оказалось фичей. Я пытался создать массив ошибочным способом. Внимание новичку! Спасибо.
@jamminjames нет проблем, и именно так вы учитесь .. также, пожалуйста, примите ответ, если он вам помог
Тот же результат, я получаю это:
( [addOns] => Array ( [inheritedFromId] => gcl2 [0] => Array ( [inheritedFromId] => gcl1 ) ) )