围观者yemingtu 发表于 2019-3-26 08:08:55


yemingtu 发表于 2019-3-26 10:07

这个样子??

这样子果然可以,但它只能取出前面一条

源是这样的
$array = [[['a' => 1, 'b' => 2],['a' => 1, 'b' => 2]], [['a' => 1, 'b' => 2],['a' => 1, 'b' => 2]]];
想要变成
$array =[['a' => 1, 'b' => 2],['a' => 1, 'b' => 2],['a' => 1, 'b' => 2],['a' => 1, 'b' => 2]]; 本帖最后由 yemingtu 于 2019-3-26 13:50 编辑

围观者 发表于 2019-3-26 10:38

这样子果然可以,但它只能取出前面一条

源是这样的

那就这样,想去几层就加几层foreach循环,如果写成递归也行,有可能你的值是数组,要额外处理。
[*]$array = [[['a' => 1, 'b' => 2],['a' => 1, 'b' => 2]], [['a' => 1, 'b' => 2],['a' => 1, 'b' => 2]]];
[*]$result = [];
[*]foreach ($array as $item){
[*]    foreach ($item as $item2){
[*]      $result[] = $item2;
[*]    }
[*]}
[*]print_r($result);复制代码

结果:
[*]Array
[*](
[*]    => Array
[*]      (
[*]             => 1
[*]             => 2
[*]      )
[*]
[*]    => Array
[*]      (
[*]             => 1
[*]             => 2
[*]      )
[*]
[*]    => Array
[*]      (
[*]             => 1
[*]             => 2
[*]      )
[*]
[*]    => Array
[*]      (
[*]             => 1
[*]             => 2
[*]      )
[*]
[*])复制代码
页: 1 [2]
查看完整版本: 问个大神php问题