####前提・実現したいこと
PHP5.2.9
以下のような区切り文字テキストを、ツリー構造配列に変換したいです。
1 1.1 1.1.1 1.1.2 1.2 1.3 1.12 1.12.1
期待する結果
php
1$array = array( 2 1 => array( 3 'dat' => '1', 4 1 => array( 5 'dat' => '1.1', 6 1 => array( 7 'dat' => '1.1.1', 8 ), 9 2 => array( 10 'dat' => '1.1.2', 11 ), 12 ), 13 2 => array( 14 'dat' => '1.2', 15 ), 16 3 => array( 17 'dat' => '1.3', 18 ), 19 12 => array( 20 'dat' => '1.12', 21 1 => array( 22 dat => '1.12.1', 23 ), 24 ), 25 ), 26);
####試したこと
explodeにて文字列を配列に分割したところまでは良いと思うのですが、そこから先で詰まっております。
php
1explode('.',$text); 2Array 3( 4 [0] => 1 5) 6Array 7( 8 [0] => 1 9 [1] => 1 10) 11Array 12( 13 [0] => 1 14 [1] => 1 15 [2] => 1 16) 17Array 18( 19 [0] => 1 20 [1] => 1 21 [2] => 2 22) 23...
アドバイスをいただければと思います。
datというキーと、datに紐付いた数字からもってきたキーを
並行的にもつのはデータ構造としてはいまいちでは?
すいません、書き方がいまいちでした。
元のデータはCSVで、この区切り文字の後ろにデータが連なっています。
そのデータを配列内に持ちたいために、datというダミーキーとダミーデータを挿入しました。
1,aa,bb,cc, ...
1.1,aa,bb,cc, ...
1.1.1,aa,bb,cc, ...
1.1.2,aa,bb,cc, ...
...
JSON形式で処理してはいかが?
>PHP5.2.9
このバージョンしか使えないのであればアドバイスは得られにくいのでは。
とりあえず eolのミドルウェアつかうならそれなりの理由を書かないと自己責任の問題があるので放置プレイになりやすい
皆さんの意見を参考に早急に開発バージョンを上げるよう検討したいと思います。
回答3件
あなたの回答
tips
プレビュー