php一维数据转多维

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


字符串为:

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

<?php$s =<<< TXT1 = 光电鼠标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                (                )         ) )
看到这些评论我笑啦:







郑重声明:本文版权包含图片归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们(delete@yzlfxy.com)修改或删除,多谢。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

留言与评论(共有 0 条评论)
昵称:
匿名发表
   
验证码: