【问题标题】:How to implode multi tree array to string如何将多树数组内爆为字符串
【发布时间】:2022-01-14 04:11:08
【问题描述】:

我正在尝试将这种类型的数组内爆为字符串。我该怎么做?

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 ...

【问题讨论】:

  • 如果您能以正确的格式呈现该示例,而不是仅仅一行长的行,这将有所帮助。

标签: php arrays multidimensional-array implode


【解决方案1】:

你试过 implode() 吗? See this

【讨论】:

  • 是的。内爆不适用于多树数组
  • 我认为 PHP 中没有内置函数可以做到这一点。
【解决方案2】:

我必须说你的数组很奇怪,但这是我从你的代码和请求中得到的:

$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,&$temp)
{
  foreach ($array as $key => $value) 
  {
    $temp[]=$key;
    if($value)
    {
      husk_that_thing($value,$temp);
    }
  }
}
husk_that_thing($thing,$temp);
echo implode(',',$temp);//output

【讨论】:

  • 谢谢。一切正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-06
  • 1970-01-01
  • 1970-01-01
  • 2011-09-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多