>  기사  >  백엔드 개발  >  PHP解析URL并失去URL中的参数

PHP解析URL并失去URL中的参数

WBOY
WBOY원래의
2016-06-13 11:54:561075검색

PHP解析URL并得到URL中的参数

<?php //例举一个URL格式的字符串:$str = 'http://test.com/testdir/index.php?param1=10&param2=20&param3=30&param4=40&param5=50&param6=60';//1 用parse_url解析URL,此处是$str$arr = parse_url($str);var_dump($arr);//2 将URL中的参数取出来放到数组里$arr_query = convertUrlQuery($arr['query']);var_dump($arr_query);//3 将 参数数组 再变回 字符串形式的参数格式var_dump(getUrlQuery($arr_query));/**    * Returns the url query as associative array    * @param     string     query    * @return     array     params    */  function convertUrlQuery($query){    $queryParts = explode('&', $query);    $params = array();    foreach ($queryParts as $param)    {        $item = explode('=', $param);        $params[$item[0]] = $item[1];    }    return $params;}function getUrlQuery($array_query){    $tmp = array();    foreach($array_query as $k=>$param)    {        $tmp[] = $k.'='.$param;    }    $params = implode('&',$tmp);    return $params;}?>

输出结果:

array (size=4)  'scheme' => string 'http' (length=4)  'host' => string 'test.com' (length=8)  'path' => string '/testdir/index.php' (length=18)  'query' => string 'param1=10&param2=20&param3=30&param4=40&param5=50&param6=60' (length=59)array (size=6)  'param1' => string '10' (length=2)  'param2' => string '20' (length=2)  'param3' => string '30' (length=2)  'param4' => string '40' (length=2)  'param5' => string '50' (length=2)  'param6' => string '60' (length=2)string 'param1=10&param2=20&param3=30&param4=40&param5=50&param6=60' (length=59)


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.