php array foreach, древо массива

236
08 февраля 2018, 18:20

Здравствуйте.

Есть следующий массив:

   $arr = array(
      0 => array(
           0=>'three',
           1=>1,
           2=>''
       ),
      1 => array(
           0=>'two',
           1=>2,
           2=>''
       ),
      2 => array(
           0=>'one',
           1=>'',
           2=>''
       )
    );

Мне нужно сделать так, чтобы массив $arr[0] был передан в $arr[1][2], и этот измененный массив, был передан в массив $arr[2][2];

Я пытаюсь это сделать так:

   $newarr = array();
    foreach ($arr as $k => $v) {
             if(empty($v[1])) $newarr[] = $arr[$k]; 
             else $arr[$v[1]][2] = $v;
    }
    print_r($newarr);

Но получается следующее:

Array
(
    [0] => Array
        (
            [0] => one
            [1] => 
            [2] => Array
                (
                    [0] => two
                    [1] => 2
                    [2] => 
                )
        )
)

Я знаю что можно использовать ссылки, рекурсию, но сейчас я просто хочу понять, что я сделал не так, ведь по идее в цикле форич, мы присваиваем нулевой массив, в одно из значений первого, а полный+нулевой, попадает в значение второго массива, но почему то в результате, я получил второй массив, в котором внутри расположен первый, но в первом нет нулевого.

READ ALSO
Сравнение в PHP , sql;

Сравнение в PHP , sql;

Не понимаю прикола PHP но всё же , сравниваю правильный пароль , и который ввел пользователь , и тут всегда даёт false , не понимаю в чем проблема...

230
PHP какой файл отвечает за вывод меню

PHP какой файл отвечает за вывод меню

Здравствуйте! Помогите определить, какой из указанных в данном коде файлов может отвечать за вывод верхнего меню на html-странице

245
Как объединить один аккаунт с двумя система входа?

Как объединить один аккаунт с двумя система входа?

Есть самопальная система регистрации и входа, как позволить пользователю входит в свой аккаунт не с помощью самопальной система, а при помощи...

205