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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 gz_xudada 于 2018-10-11 17:56 编辑

1.拿到一个完整url后,如何解析该url得到里面的参数
2.如何把一个数组拼接成url传递
3.测试调用
4.完整代码
[PHP] 纯文本查看 复制代码
<?php
    header('Content-type:text/html;charset=utf-8');
    /**
     * 解析url中参数信息,返回参数数组
     * @param [String] $query   url字符串
     * @return [Array] $params 返回url参数的数组
     */
    function convertUrlQuery($query){
             $queryParts = explode('&', $query);
              $params = array();
              foreach ($queryParts as $param) {
                       $item = explode('=', $param);
                       $params[$item[0]] = $item[1];
              }
              return $params;
    }

    /**
     * 把数组拼接成url参数形式
     * @param [Array] $array_query 需要转换成url参数的数组
     * @return [String] $params 返回一个拼接好的字符串,格式为:key1=value1&key2=value2
     */
    function getUrlQuery($array_query){
              $tmp = array();
              foreach ($array_query as $k => $param) {
                       $tmp[] = $k . '=' . $param;
              }
              $params = implode('&', $tmp);
              return $params;
    }

    // 测试调用
    // 定义一个url字符串
    $url = 'http://www.itcast.cn/subject/phpzly/index.shtml?username=zhangsan&age=23';
    // 解析url,得到参数字符串
    $url = parse_url($url);
    // 字符串->数组
    $param_arr = convertUrlQuery($url['query']);
    echo "<pre>";
    var_dump($param_arr);
    // 数组->字符串
    $param_str = getUrlQuery($param_arr);
    var_dump($param_str);
?>

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马