PHP 中解析 url 並得到 url 參數
這里介紹兩種對url操作的方法:
1、拿到一個完整url后,如何解析該url得到里面的參數。
1 /** 2 * 解析url中參數信息,返回參數數組 3 */ 4 function convertUrlQuery($query) 5 { 6 $queryParts = explode('&', $query); 7 8 $params = array(); 9 foreach ($queryParts as $param) { 10 $item = explode('=', $param); 11 $params[$item[0]] = $item[1]; 12 } 13 14 return $params; 15 }
2、如何把一個數組拼接成url傳遞。
1 /** 2 * 把數組拼接成url參數形式 3 */ 4 function getUrlQuery($array_query) 5 { 6 $tmp = array(); 7 foreach ($array_query as $k => $param) { 8 $tmp[] = $k . '=' . $param; 9 } 10 $params = implode('&', $tmp); 11 return $params; 12 }
測試調用:
1 $url = 'http://www.test.com/link?param1=1¶m2=2¶m3=3'; 2 // 解析url,得到參數字符串 3 $url = parse_url($url); 4 // 字符串->數組 5 $param_arr = $this->convertUrlQuery($url['query']); 6 // 數組->字符串 7 $param_str = $this->getUrlQuery($param_arr);