找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
楼主: 围观者

问个大神php问题

[复制链接]

0

主题

1

回帖

4

积分

新手上路

积分
4
发表于 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循环,如果写成递归也行,有可能你的值是数组,要额外处理。
[ol]
  • $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);[/ol]复制代码

    结果:
    [ol]
  • Array
  • (
  •     [0] => Array
  •         (
  •             [a] => 1
  •              => 2
  •         )
  •     [1] => Array
  •         (
  •             [a] => 1
  •              => 2
  •         )
  •     [2] => Array
  •         (
  •             [a] => 1
  •              => 2
  •         )
  •     [3] => Array
  •         (
  •             [a] => 1
  •              => 2
  •         )
  • )[/ol]复制代码
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|Discuz! X

    GMT+8, 2025-4-21 19:16 , Processed in 0.013130 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表