phpでプレーンなテキストを階層化
phpに関して質問させて頂きます。
最近、phpの勉強を始め、プレーンなテキストを階層を持った配列にしようとして、つまずいてしまいました。
まず、以下のように先頭にタブを打って見やすく階層化した適当な文字列の変数を作っておき、
$text_hierarchy = '
階層0-0
階層0-0-1
階層0-0-2
階層0-1
階層0-2
階層0-2-0
階層0-2-1
階層0-2-1-0
階層0-2-1-1
階層0-2-1-1-0
階層0-3
';
これを1行毎の配列にして
$text_hierarchy_array = explode("\n", trim($text_hierarchy, "\n"));
順番に処理して
$text_tree_array = array();
foreach($text_hierarchy_array as $k => $v){
$text_tree_array[$k] = …..
}
最終的に以下のような配列を作ろうとしているのですが、うまくゆきません。
目的はタブなどで見た感じ階層っぽく打たれたテキストを引数に渡すと、親子の配列を返す関数を作る事です。(何階層にでも対応する)
array(4) {
[0]=>
array(2) {
[0]=>
string(9) "階層0-0"
[1]=>
array(2) {
[0]=>
array(1) {
[0]=>
string(11) "階層0-0-0"
}
[1]=>
array(1) {
[0]=>
string(11) "階層0-0-1"
}
}
}
[1]=>
array(1) {
[0]=>
string(9) "階層0-1"
}
[2]=>
array(2) {
[0]=>
string(9) "階層0-2"
[1]=>
array(2) {
[0]=>
array(1) {
[0]=>
string(11) "階層0-2-0"
}
[1]=>
array(2) {
[0]=>
string(11) "階層0-2-1"
[1]=>
array(2) {
[0]=>
array(1) {
[0]=>
string(13) "階層0-2-1-0"
}
[1]=>
array(2) {
[0]=>
string(13) "階層0-2-1-1"
[1]=>
array(1) {
[0]=>
string(15) "階層0-2-1-1-0"
}
}
}
}
}
}
[3]=>
array(1) {
[0]=>
string(9) "階層0-3"
}
}
お詳しい方、いらっしゃいましたら、是非ご教示頂きたく存じます。
コード例でも、考え方だけでも結構です。
何卒、宜しくお願い申し上げます。