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