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);