Как преобразовать многодревесный массив в строку

#php #arrays #multidimensional-array #implode

#php #массивы #многомерный массив #implode

Вопрос:

Я пытаюсь преобразовать этот тип массива в строку. Как я могу это сделать?

 Array ( 
  [58] => Array ( 
    [272] => Array ( ) 
    [273] => Array ( ) 
    [274] => Array ( ) 
    [275] => Array ( ) 
    [276] => Array ( ) 
    [507] => Array ( ) 
  )
  [182] => Array ( 
    [46] => Array ( ) 
    [96] => Array ( ) 
  ) 
  [271] => Array ( 
    [2] => Array ( ) 
    [75] => Array ( ) 
    [80] => Array ( ) 
  ) 
  [277] => Array ( ) 
  [278] => Array ( 
    [4] => Array ( [174] => Array ( ) ) 
    [14] => Array ( ) 
    [36] => Array ( ) 
    [57] => Array ( ) 
    [279] => Array ( ) 
    [280] => Array ( ) 
    [281] => Array ( ) 
  ) 
)
 

Я хочу получить результат, подобный: 58, 272, 273, 274, 275, 276, 507, 182 …

Комментарии:

1. Было бы полезно, если бы вы могли представить этот пример в правильном формате вместо одной длинной строки.

Ответ №1:

Я должен сказать, что ваш массив довольно странный, но вот что я получил из вашего кода и запроса :

 $thing = Array ( 
        58 => Array ( 272 => Array ( ), 273 => Array ( ), 274 => Array ( ), 275 => Array ( ), 276 => Array ( ), 507 => Array ( ) ),
        182 => Array ( 46 => Array ( ), 96 => Array ( ) ),
        271 => Array ( 2 => Array ( ), 75 => Array ( ), 80 => Array ( ) ),
        277 => Array ( ),
        278 => Array ( 4 => Array ( 174 => Array ( ) ), 14 => Array ( ), 36 => Array ( ), 57 => Array ( ), 279 => Array ( ), 280 => Array ( ), 281 => Array ( ) ) 
      );
$temp=[];
function husk_that_thing($array,amp;$temp)
{
  foreach ($array as $key => $value) 
  {
    $temp[]=$key;
    if($value)
    {
      husk_that_thing($value,$temp);
    }
  }
}
husk_that_thing($thing,$temp);
echo implode(',',$temp);//output
 

Комментарии:

1. Спасибо. все работает нормально.

Ответ №2:

Вы пробовали implode()? Смотрите это

Комментарии:

1. да. implode не работает для многодревесных массивов

2. Я не думаю, что в PHP есть встроенная функция, которая делает это.