Array (
[Albums] => Array (
[A Great Big World - Is There Anybody Out There] => Array(...),
[ATB - Contact] => Array(...),
)
[Pop] => Array (...)
)
我有一条动态的道路:
/albums/a_great_big_world_-_is_there_anybody_out_there
什么是检索(在这个例子中)$arr [“专辑”] [“一个伟大的大世界 – 有没有人在那里”]的价值的最佳方法?
请注意,它应该是动态的,因为嵌套可以比本例中的2级更深.
编辑
function formatURL($url) {
return preg_replace('/__+/', '_', preg_replace('/[^a-z0-9_\s-]/', "", strtolower(str_replace(" ", "_", $url))));
}
解决方法:
$array = array(...);
$path = '/albums/a_great_big_world_-_is_there_anybody_out_there';
$value = $array;
foreach (explode('/', trim($path, '/')) as $key) {
if (isset($value[$key]) && is_array($value[$key])) {
$value = $value[$key];
} else {
throw new Exception("Path $path is invalid");
}
}
echo $value;