Вставка массива в массив внутри массива - PullRequest
0 голосов
/ 16 января 2019

Я пытаюсь вставить массив или (если он уже объявлен) добавить в него элемент.

Вывод Print_r массива $ data:

Array
(
    [0] => Array
        (
            [0] => 7727368
            [1] => Array
                (
                )

        )

    [1] => Array
        (
            [0] => 7727284
            [1] => Array
                (
                    [0] => Array
                        (
                            [0] => 7543419783
                        )

                )

        )

    [2] => Array
        (
            [0] => 7787473
            [1] => Array
                (
                    [0] => Array
                        (
                            [0] => 7771723347
                        )

                    [1] => Array
                        (
                            [0] => 8458457
                        )

                )

        )

)

PHP код:

  $idaukcji = $_POST['idaukcji'];
  $modid = $_POST['modid'];
  foreach($data as $item){
    foreach($item[1] as $subitem){
      if($subitem[0]==$idaukcji){
        if(array_key_exists('1',$subitem)){
          array_push($subitem[1],$modid);
        }
        else{
          array_push($subitem, array($modid));
        }
      }
      $tobase = base64_encode(serialize($item[1]));
      $sql="UPDATE data SET allegroaucnum='$tobase' WHERE wfnum = '$item[0]'";
      mysqli_query($conn,$sql) or die(mysqli_error($conn));
    }
  }

Сценарий должен проверить, существует ли существующий массив в индексе [1] наиболее глубоко вложенного массива, если он объявлен, тогда он должен добавить $modid к этому массиву, если нет, то создать массив с $modid в качестве элемент.

Фактический код дает то, что мы видим выше (в print_r), но если я добавлю

echo $subitem[1][0];

после (внутри)

array_push($subitem, array($modid));

Возвращает значение $ modid, которое как-то не отображается в print_r

.

Заранее спасибо за помощь.

...