黑马程序员技术交流社区

标题: 源码分享:php解析url并得到url中的参数 [打印本页]

作者: huawei    时间: 2017-1-18 16:00
标题: 源码分享:php解析url并得到url中的参数
本帖最后由 huawei 于 2017-3-5 10:28 编辑

PHP解析url并得到url中的参数,这是常用实例,以下进行源码分享。怎么能够把URL参数编程数组?怎么又能将 URL参数变成字符串?希望对PHP自学者有用!

<?php
$url = 'http://www.baidu.com/index.php?m=content&c=index&a=lists&catid=6&area=0&author=0&h=0®ion=0&s=1&page=1';

$arr = parse_url($url);
var_dump($arr);
$arr_query = convertUrlQuery($arr['query']);
var_dump($arr_query);
var_dump(getUrlQuery($arr_query));

/**
* 将字符串参数变为数组
* @param $query
* @return array array (size=10)
     'm' => string 'content' (length=7)
     'c' => string 'index' (length=5)
     'a' => string 'lists' (length=5)
     'catid' => string '6' (length=1)
     'area' => string '0' (length=1)
     'author' => string '0' (length=1)
     'h' => string '0' (length=1)
     'region' => string '0' (length=1)
     's' => string '1' (length=1)
     'page' => string '1' (length=1)
*/
function convertUrlQuery($query)
{
    $queryParts = explode('&', $query);
    $params = array();
    foreach ($queryParts as $param) {
        $item = explode('=', $param);
        $params[$item[0]] = $item[1];
    }
    return $params;
}

/**
* 将参数变为字符串
* @param $array_query
* @return string string 'm=content&c=index&a=lists&catid=6&area=0&author=0&h=0®ion=0&s=1&page=1' (length=73)
*/
function getUrlQuery($array_query)
{
    $tmp = array();
    foreach($array_query as $k=>$param)
    {
        $tmp[] = $k.'='.$param;
    }
    $params = implode('&',$tmp);
    return $params;
}


精华推荐:

2017最新PHP学习路线图(附完整视频资源)+源码+技巧/经验+求职+前景总结!
连续两班仅6日就业率突破53%,看2016PHP课程升级是否成功!
视频集合:众多老学员呐喊:"为什么我选传智PHP"!


作者: Mr_Maty    时间: 2017-1-18 19:59
好东西,mark下

作者: 小虎同学    时间: 2017-1-18 23:16
可以可以,看看

作者: yhm12345687    时间: 2017-1-19 15:59
rubbrubbrubbrubbrubbrubbrubbrubbrubbrubbrubbrubbrubbrubb
作者: 倾听    时间: 2017-1-19 20:39
干货干货干货干货
作者: phpchengxuyuan    时间: 2017-1-19 21:32
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
作者: phpchengxuyuan    时间: 2017-1-19 21:33
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢6546
作者: binghe123    时间: 2017-1-21 11:02
学习 一下,以后可以用上
作者: skykiah    时间: 2017-1-21 21:36
学习 一下,以后可以用上
作者: 夜探窗    时间: 2017-1-23 11:51
可以,看看
作者: 太阳照常升起、    时间: 2017-2-3 23:21
看看
作者: huangzejun    时间: 2017-2-4 15:14
aasdasdasd
作者: 狼之山高人为峰    时间: 2017-2-4 15:15
asdfghasdfgfhgjhklk;'
作者: qiannz    时间: 2017-2-6 15:01
111111111111111111111111111
作者: 707621521    时间: 2017-2-6 15:50
只知道框架里面有,现在看下
作者: 许仙不是仙    时间: 2017-2-7 12:48
66666666666666666666
作者: sunsine    时间: 2017-2-7 17:42
学习一下
作者: sunshine1992    时间: 2017-2-10 11:51
RE: 源码分享:php解析url并得到url中的参数 [修改]
作者: 踏上PHP征程    时间: 2017-2-10 23:25
谢谢分享
作者: LeePapa    时间: 2017-2-11 04:21
看看是什么样的
作者: 1317181388    时间: 2017-2-11 05:44
感谢楼主分享
作者: icefei2017    时间: 2017-2-11 20:13
11111111111111111111111111111111111111
作者: zhujunfeng    时间: 2017-2-12 12:10
非常好,谢谢老师




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2