将数组转化成 url 形式的字符串

function gen_urlstr($param)
{
    $tmp = [];
    foreach ($param as $key => $value) {
        $tmp[] = "$key=$value"; // 一般用这种。
                // $tmp[] = "{$key}={$value}";
                // $tmp[] = "${key}=${value}";
    }
    return implode('&', $tmp);
}

$param['example1'] = 'example1';
$param['example2'] = 'example2';
$param['example3'] = 'example3';

$param = [
    'example4' => 'example4',
    'example5' => 'example5',
];

$query = http_build_query($param);
本作品采用《CC 协议》,转载必须注明作者和本文链接
Study hard and make progress every day. Study hard and make progress every day.
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7
function gen_urlstr($params)
{
$tmp = [];
foreach ($params as $key => $value) {
$tpm[] = "$key=$value"; // 一般用这种。
// $tpm[] = "{$key}={$value}";
// $tpm[] = "${key}=${value}";
}
return implode('&', $tmp);
}

感觉是不是少了 urlencode

7年前 评论

@edwin404 对,这样生成的内容并不是 url query

7年前 评论
mouyong

@edwin404 如果需要 query 的话,用 http_build_query() 比较便捷,如果要用上面的那个函数,遍历的时候对 $value 进行 urlencode() $tpm[] = "$key=" . urlencode($value);

7年前 评论
mouyong

@leung0826 抱歉,现在才看到:joy:

7年前 评论

@蜗牛 是不是 $key 也得 urlencode 一下 :smirk:

7年前 评论
mouyong

@edwin404 key 吗?:joy: 那样就变成了真的 query 了。

7年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
打杂的 @ 某某医学
文章
35
粉丝
63
喜欢
328
收藏
113
排名:37
访问:19.1 万
私信
所有博文
社区赞助商