A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© huawei 黑马粉丝团   /  2017-1-18 16:00  /  7049 人查看  /  22 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 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;
}


22 个回复

正序浏览
11111111111111111111111111111111111111
回复 使用道具 举报
感谢楼主分享
回复 使用道具 举报
看看是什么样的
回复 使用道具 举报
谢谢分享
回复 使用道具 举报
RE: 源码分享:php解析url并得到url中的参数 [修改]
回复 使用道具 举报
学习一下
回复 使用道具 举报
66666666666666666666
回复 使用道具 举报
只知道框架里面有,现在看下
回复 使用道具 举报
111111111111111111111111111
回复 使用道具 举报
asdfghasdfgfhgjhklk;'
回复 使用道具 举报
aasdasdasd
回复 使用道具 举报
看看
回复 使用道具 举报
可以,看看
回复 使用道具 举报
学习 一下,以后可以用上
回复 使用道具 举报
学习 一下,以后可以用上
回复 使用道具 举报
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢6546
回复 使用道具 举报
谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢谢
回复 使用道具 举报
干货干货干货干货
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马