我有一个这样的数组:
[0] => [basketball][player]
[1] => [basketball][threes][player]
[2] => [basketball][home][leaders][player]
[3] => [basketball][away][leaders][player]
我想将每个元素转换为对关联数组中某个元素的引用:
$post['basketball']['player']
$post['basketball']['threes']['player']
etc.
有没有办法自动将前者翻译成后者?如果是这样,那会超级方便,如果没有,大概会超级不方便,所以我希望有一种方法,但我不知道它可能是什么。
我会这样说:
- 在
- 开始时剥离
[
,在结束时剥离]
(使用substr
) - 使用
explode
按][
拆分字符串 - 循环遍历分解的碎片,将它们用作数组的键。
所以像这样:
$array = ..... // the big array
$str = "[basketball][player]";
$keys = explode("][",substr($str,1,-1));
$pos = $array; // PHP does a lazy copy, so there is no performance issue here
while($key = array_shift($keys)) $pos = $pos[$key];
// $pos is now your target element