Проклятье массива на php

139
09 февраля 2021, 21:40

Помогите новичку не могу понять как записать в массив в цикле значение, записываю таким вот образом

$arrPos[] = array($arFields["ID"]);

в итоге массив через print_r выводит

    Array
(
    [0] => Array
        (
            [0] => 316767
        )
    [1] => Array
        (
            [0] => 381636
        )
    [2] => Array
        (
            [0] => 488928
        )
)

как мне правильно записывать в массив чтоб на выходе у меня получилось

    Array
(
    [0] => 316767
    [1] => 381636
    [2] => 488928
)

$arrPos = array($arFields["ID"]); записывает только последнее значение

Answer 1

Нужно писать так - $arr[] = 123 и он автоматически запишет в конец

Пример -

$arr = [];
    $test = [123, 125, 1211];
    foreach($test as $item) {
      $arr[] = $item;
    };
    var_dump($arr);
Answer 2

$arrPos[] = array($arFields["ID"]); - проблема в том, что вы делаете следующее:

Вы определили переменную $arrPos , как массив. Далее говорите что нужно записать в первую свободную( ближайшую ячейку ) массив, в котором будет переменная $arFields["ID"]. В итоге и получается, что у вас двумерный массив.

Что бы избежать данной проблемы, просто $arrPos[] = $arFields["ID"]; - сделайте так. Это избавит вас от лишней вложенности.

Answer 3
$stack = array("orange", "banana");
array_push($stack, "apple", "raspberry");

с PHP.net

READ ALSO
BitConverter.ToUInt32 в php?

BitConverter.ToUInt32 в php?

Есть в c# метод BitConverterToUInt32

93
Как вызвать Java метод из NDK(JNI)?

Как вызвать Java метод из NDK(JNI)?

В своем андроид приложении я использую NDK и у меня есть вот такой метод

96