php一维数据转多维

今天在论坛里看到有个朋友的需求,见证csdn的版主都不愧是大牛的角色存在啊!!!保存起来,方便以后需要的时候使用。

字符串为:

<喎?http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">1 = 光电鼠标
2 = 机械鼠标
3 = 没有鼠标
1.1 = 黑色光电鼠标
1.2 = 红色光电鼠标
1.2.1 = 蓝牙红色光电鼠标
版主解答为:

<?php
$s =<<< TXT
1 = 光电鼠标
2 = 机械鼠标
3 = 没有鼠标
1.1 = 黑色光电鼠标
1.2 = 红色光电鼠标
1.2.1 = 蓝牙红色光电鼠标
TXT;

$res = array();
foreach(preg_split("/[\r\n]+/", $s) as $r) {
  list($k, $txt) = explode(" = ", $r);
  $p =& $res;
  foreach(explode(".", $k) as $v) {
    if(! isset($p[$v])) $p[$v] = array("txt" => $txt, "child" => array());
    $p =& $p[$v]["child"];
  }
}

print_r($res);
?>

打印出来的数组为:

Array
(
    [1] => Array
        (
            [txt] => 光电鼠标
            [child] => Array
                (
                    [1] => Array
                        (
                            [txt] => 黑色光电鼠标
                            [child] => Array
                                (
                                )

                        )

                    [2] => Array
                        (
                            [txt] => 红色光电鼠标
                            [child] => Array
                                (
                                    [1] => Array
                                        (
                                            [txt] => 蓝牙红色光电鼠标
                                            [child] => Array
                                                (
                                                )

                                        )

                                )

                        )

                )

        )

    [2] => Array
        (
            [txt] => 机械鼠标
            [child] => Array
                (
                )

        )

    [3] => Array
        (
            [txt] => 没有鼠标
            [child] => Array
                (
                )

        )

)

看到这些评论我笑啦:

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索字符串
, 一维数据
, 角色
, 版主
, 大牛
, 一维
多维
php 多维数组转一维、php 多维转一维、php 多维数组变一维、多维数组转一维数组、js多维数组转一维数组,以便于您获取更多的相关知识。

时间: 2024-10-28 00:33:30

php一维数据转多维的相关文章

php中如何把一维数据转多维

今天在论坛里看到有个朋友的需求,见证csdn的版主都不愧是大牛的角色存在啊!!!保存起来,方便以后需要的时候使用. 字符串为: 1 = 光电鼠标 2 = 机械鼠标 3 = 没有鼠标 1.1 = 黑色光电鼠标 1.2 = 红色光电鼠标 1.2.1 = 蓝牙红色光电鼠标 版主解答为: <?php $s =<<< TXT 1 = 光电鼠标 2 = 机械鼠标 3 = 没有鼠标 1.1 = 黑色光电鼠标 1.2 = 红色光电鼠标 1.2.1 = 蓝牙红色光电鼠标 TXT; $res = ar

在java中一维数组和二维数组有什么区别吗?

问题描述 在java中一维数组和二维数组有什么区别吗? 求大神指点java中一维数组和二维数组的区别,为什么一位数组是一行 二维数组可以定义多行 解决方案 如图黑色的是一维数组红色的是二维数组一维数组用来存数据二维数组用来存一维数组 解决方案二: JAVA中一维数组和二维数组的定义一维数组及二维数组的用法java中arraylist和一维数组二维数组的转换 解决方案三: 一楼正解,一维和二维的区别就是线和面的区别,一维的数组你就可以通过一个下标来准确定位,而二维的就需要有两个就像坐标系一样,一维

详解C++中的一维数组和二维数组_C 语言

C++一维数组 定义一维数组 定义一维数组的一般格式为:     类型标识符  数组名[常量表达式]; 例如: int a[10]; 它表示数组名为a,此数组为整型,有10个元素. 关于一维数组的几点说明: 1) 数组名定名规则和变量名相同,遵循标识符定名规则. 2) 用方括号括起来的常量表达式表示下标值,如下面的写法是合法的: int a[10]; int a[2*5]; int a[n*2]; //假设前面已定义了n为常变量 3) 常量表达式的值表示元素的个数,即数组长度.例如,在"int

js一维数组、多维数组和对象的混合使用方法_javascript技巧

这篇文章的主要目的是讲解JavaScript数组和对象的混合使用,由于JS的弱检查特性,因此在JS数组中可以同时存储不同类型的变量,比如你可以把数字.字符串.字符.对象等内容放在同一个数组中.对象也可以做同样的事情,区别是对象可以指定对象里每一个成员的别名,这样在编程的时候数据更易读,比如: var arr1 = ["飞鱼", 25, 172, "江苏"]; var person = {name:"飞鱼",age: 25, height:172,

php 一维数组排序与多维数组排序

   先看一维数据排序的实例asort()函数和ksort()函数    <?php    //asort()函数以数组的值升序为准  $mix = array("Clalei"=>10,"Bill"=>50,"Aala"=>100);  asort($mix);  print_r($mix);  //ksort()函数以数组的关键字升序为准  $mix = array("Clalei"=>100

PHP实现一维数组转二维数组的方法

 这篇文章主要介绍了PHP实现一维数组转二维数组的方法,实例分析了php操作数组的技巧,具有一定参考借鉴价值,需要的朋友可以参考下     本文实例讲述了PHP实现一维数组转二维数组的方法.分享给大家供大家参考.具体实现方法如下:   1 2 3 4 5 6 7 8 9 10 11 <?php $asr[1] = array("a","b","c","d"); $asr[2] = array("a",

优云软件叶帅:“互联网+”时代的云数据中心运维思辨(二)

2017中国开源产业峰会暨中国国际软件博览会分论坛,优云软件叶帅在开源云计算技术创新论坛发表了<"互联网+"时代的云数据中心运维思辨>的主题演讲,本文根据演讲内容整理而成. 无论是稳态还是敏态,大家关注的内容最终的目标并不会发生变化,最终的目标都是保证当前的数据.业务或者用户能够得到一个比较好的系统体验,是不是说随着云环境或者容器对象的引入,当前的IT对象或者IT服务就能够得到持续的比较好的体验呢?其实往往不是这样的. 随着业务系统或者整个IT架构发生一个复杂的变化,要管理

[php]运用变量引用实现一维数组转多维树状数组

/** * 运用 变量引用 实现 一维数组 转 多维树状数组 * @param $array * @param array $options = ['id'=>'id', 'pid'=>'pid', 'sub'=>'_sub', 'root'=>0] * @return array */ public static function array2Tree($array, $options = []) { /** merge Options */ $opt = array_merge

string-C#一维数组存入二维数组的其中一维

问题描述 C#一维数组存入二维数组的其中一维 我定义 int num=20000; string[,] str2=new str[20,num]; for(int i=0;i<20;i++) { string[] str1=new str1[num]; str1=GetData(i); //一维数组是动态变化中,我随时提取 <<?这里该怎么写,我要将str1放入str2[i, ]中,就是将20个一维数组组合成了二维数组,请求大神帮忙 } 解决方案 一维数组与二维数组黑马程序员-一维数组和