我试图将导航位置字符串拆分为主数组。
例如,如果我有一个位置为 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()
有人知道这样做的方法吗?
问候
编辑
假设我有一个一维对象数组,我想遍历它们并将其存储为结构化的“导航”,如嵌套数组。每个item都有一个导航位置字符串,即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
(
)
)
)
)
)