今日フォーラムで友人のリクエストを見て、csdn のモデレーターが強力な権限を持つに値することを目の当たりにしました。 ! !後で必要なときに使用できるように保存してください。
文字列は次のとおりです:
vcD4KPHByZSBjbGFzcz0="brush:java;">1 = 光学式マウス
2 = メカニカルマウス
3 = マウスなし
1.1 = 黒の光学式マウス
1.2 = 赤の光学式マウス
1.2.1 = Bluetooth 赤色光学式マウス
モデレーターの答えは次のとおりです。
<?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 ( ) ) )