程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> php中如何把一維數據轉多維

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 = 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  
                (  
                )  
       
        )  
       
)

查看本欄目

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved