Home  >  Q&A  >  body text

thinkphp - php数组合并

在做无限分类遇到的问题
根据一级目录的id要把一级目录下包含的所有三级目录全部读取出来
foreach循环读出来之后是5个数组,怎么能合并成一个数组呢
用过array_merge()函数,但是结果还是5个数组,没有合并成功。

array (size=3)
  0 => 
    array (size=2)
      'type_name' => string '机油-2型' (length=11)
      'type_id' => string '8' (length=1)
  1 => 
    array (size=2)
      'type_name' => string '机油-3型' (length=11)
      'type_id' => string '9' (length=1)
  2 => 
    array (size=2)
      'type_name' => string '机油-4型' (length=11)
      'type_id' => string '10' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯' (length=12)
      'type_id' => string '20' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯1' (length=13)
      'type_id' => string '21' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '菲利普斯1212' (length=16)
      'type_id' => string '22' (length=2)
array (size=1)
  0 => 
    array (size=2)
      'type_name' => string '汽油泵22型' (length=14)
      'type_id' => string '19' (length=2)
天蓬老师天蓬老师2633 days ago864

reply all(3)I'll reply

  • 迷茫

    迷茫2017-04-11 10:01:18

    使用array_merge()函数来将多个一维数组合并。

    刚刚看错了,原来这些都是二维数组啊。那就只能foreach之后进行数组的拼装了。

    reply
    0
  • 阿神

    阿神2017-04-11 10:01:18

    题主这是查了几次数据库?其实可以一次查出,然后再处理。
    不知道楼主怎么做的合并之后还是和原来的一样?还是楼主想要的结构不是你描述的这样?

    <?php
    $array1 = [
        [
            'type_name' => '机油-2型',
            'type_id' => '8'
        ],
        [
            'type_name' => '机油-2型',
            'type_id' => '2'
        ],
        [
            'type_name' => '机油-2型',
            'type_id' => '3'
        ],
    ];
    $array2 = [
        [
            'type_name' => '机油-2型',
            'type_id' => '6'
        ],
        [
            'type_name' => '机油-2型',
            'type_id' => '22'
        ],
    ];
    $arrays = array_merge($array1, $array2);
    var_dump($arrays);

    reply
    0
  • PHPz

    PHPz2017-04-11 10:01:18

    可以试试array_push()

    reply
    0
  • Cancelreply