今天在論壇裡看到有個朋友的需求,見證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 ( ) ) )
查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/PHP/