Как преобразовать многомерный массив с несколькими дочерними элементами в простой одномерный массив - PullRequest
0 голосов
/ 30 апреля 2020

У меня проблема в том, что я не могу получить один массив из данного многомерного массива. Как я могу удалить ключ 'children' из массива и сделать массив только одномерным.

  [
   users: {
   id: 6,
   full_name: "First Promoter",
   children: [
             {
              id: 9,
              full_name: "Third Promoter",
            },
               {
               id:10,
               full_name:'xyz,
               children: [
                          {
                           id: 11,
                           full_name: "Second Promoter",    
                          }]
              }
           ]
     }
 ]

Я сделал следующее, но не могу получить ожидаемый результат. Он возвращает только первый массив.

 function array_flatten($array, $final=[]) {

foreach ($array as $key => $value) {

    $returns['id']=$value['id'];
    $returns['full_name']=$value['full_name'];



    if(isset($value['children'])){
        $final = array_merge($returns,$final);
        $this->array_flatten($value['children'],$final);
    }

    else {

        $final[] = array_merge($final,$returns);
    }
}
return $final;

}

Я хочу, чтобы простой массив отображался как выходной, без ключа "children".

   [
   {
   id: 6,
   full_name: "First Promoter",
   },
   {
   id: 9,
   full_name: "Third Promoter",
   },
   {
   id:10
   full_name:xyz
    },
   {
   id: 11,
   full_name: "Second Promoter",    
   }
   ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...