我有一個網址,如http://example.com/size/large/color/red。我怎麼能轉換成URL的關聯數組,這樣我結束了:如何將URL解析爲關聯數組?
$my_array("size" => "large", "color" => "red");
請記住,該URL可能看起來像http://example.com/color/red/size/large/type/round。所以基本上,鍵和值可以是任何東西。但他們的關鍵將始終是價值。
我有一個網址,如http://example.com/size/large/color/red。我怎麼能轉換成URL的關聯數組,這樣我結束了:如何將URL解析爲關聯數組?
$my_array("size" => "large", "color" => "red");
請記住,該URL可能看起來像http://example.com/color/red/size/large/type/round。所以基本上,鍵和值可以是任何東西。但他們的關鍵將始終是價值。
$url = 'http://example.com/size/large/color/red';
$path = trim(parse_url($url, PHP_URL_PATH), '/');
$path_chunks = preg_split('/\/+/', $path);
$arr = array();
for($i = 0, $count = count($path_chunks); $i < $count; $i += 2)
{
$arr[$path_chunks[$i]] = $path_chunks[$i + 1];
}
您可以提取組成URL的部分,然後循環遍歷它們,並將第一個分配爲鍵,第二個分配爲值。
$url = 'http://example.com/color/red/size/large/type/round';
$my_array = array();
$parts = explode('/', $url);
for ($i = 3, $len = count($parts); $i < $len; $i += 2)
{
$my_array[$parts[$i]] = $parts[$i + 1];
}
這將產生:
Array
(
[color] => red
[size] => large
[type] => round
)
是的 - 工作。非常感謝。 – xd3v