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);
还没有人抢沙发呢~