如何从一个数组创建多个数组? [英] How Create Multiple array from a array?

查看:113
本文介绍了如何从一个数组创建多个数组?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在同一级别有一个数组.

I have an array in the same level.

$original = Array(
        0=>"03ssss",//substr("03ssss",0,2)="03" => parent index

          1=>"04aaaa",
          2=>"05absd",
          3=>"07sdsa",
          4=>"08sdsd",

        5=>"03tttt", //substr("03tttt",0,2)="03" => parent index

          6=>"04xxxx, //substr("03xxxx",0,2)="04" => child index
            7=>"05sdds",
            8=>"07sdfd",
            9=>"08sdff",
          10=>"04xsax", //substr("03xxxx",0,2)="04" => child index
            11=>"05sdfs",
            12=>"07sdfds",
            13=>"08asap",
    )

如何从$original创建多个数组?

$move_level = Array(
 0=>array(0=>"04aaaa 05absd 07sdsa 08sdsd"),
 1=>array(0=>"04xxxx 05sdds 07sdfd 08sdff", 
          1=>"04xsax 05sdfs 07sdfds 08asap") 
);

谢谢

推荐答案

这会将$ original数组在每个以'03'开头的元素处拆分为子数组:

This splits the $original array into sub arrays at each element starting with '03':

$move_level = array();
$ary = array();
foreach($original as $value) {
    if (strpos($value, '03') === 0) {
        $move_level[] = $ary;
        $ary = array();
    } else {
        $ary[] = $value;
    }
}
$move_level[] = $ary;

这篇关于如何从一个数组创建多个数组?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆