phpの再帰処理で平坦な連想配列をツリー化
phpに関して質問させて頂きます。
最近、phpの勉強を始め、再帰処理でつまづいております。
具体的には、以下の様な連想配列を作り
$tourist_spot = array(
'a' => array('日本','東京都','台東区','浅草','浅草寺',10),
'b' => array('日本','東京都','千代田区','大手町','首塚',5),
'c' => array('日本','千葉県','浦安市','舞浜','ディズニーランド',10),
'd' => array('日本','東京都','台東区','浅草','浅草演芸ホール',7),
);
この連想配列に、再帰処理をかけて以下ようなツリー状の連想配列を生成しようと試みていますが、どうしても上手く行きません。
基本は添字に値を格納し、末端のみ値を数値として格納する感じです。
array(1) {
["日本"]=>
array(1) {
["東京都"]=>
array(1) {
["台東区"]=>
array(1) {
["浅草"]=>
array(2) {
["浅草寺"]=>
int(10)
["浅草演芸ホール"]=>
int(7)
}
}
["千代田区"]=>
array(1) {
["大手町"]=>
array(1) {
["首塚"]=>
int(5)
}
}
["千葉県"]=>
array(1) {
["浦安市"]=>
array(1) {
["舞浜"]=>
array(1) {
["ディズニーランド"]=>
int(10)
}
}
}
}
}
コード例などご提示頂けますと幸いですが、ややこしいようであれば、どのような考え方で望めば良いのかだけでもご教示を賜りたく存じます。
お詳しい方いらっしゃいましたら何卒、宜しくお願い申し上げます。
お礼
array_values関数がそのものずばりの関数でした。やはりあったのですね。 ご回答、有り難うございました。