ナビゲーション位置文字列をマスター配列に分割しようとしています。
たとえば、位置が1.2.2のアイテムがある場合
次のようにマスターアレイに追加したいと思います
1 =>
2 =>
2 => array()
そして、別のアイテムに「2.1」がある場合
1 =>
2 =>
2 => array()
2 =>
1 => array()
そして別の「1.2.3」
1 =>
2 =>
2 => array()
3 => array()
2 =>
1 => array()
誰かがこれを行う方法を知っていますか?
よろしく
編集
オブジェクトの1次元配列があるとしましょう。それらをループして、ネストされた配列のような構造化された「ナビゲーション」として格納します。各アイテムには、ナビゲーション位置文字列、つまり1.2.3.6があります
$depth = explode( '.', $details['navigation_pos'] );
次に、オブジェクトを正しい位置に配置するために、ある種のアレイウォーカーにそれを実行することを考えていました。
お役に立てれば
編集
多分それを置くためのより良い方法はこれですが、よりエレガントに:
$depth = explode( '.', '1.2.3.4' );
$bar = json_decode( '{"' . implode( '":{"', $depth ) . '":[]' . str_repeat( '}', sizeof( $depth ) ) );
print_r($bar);
これは
stdClass Object
(
[1] => stdClass Object
(
[2] => stdClass Object
(
[3] => stdClass Object
(
[4] => Array
(
)
)
)
)
)