- 目录
- 1. 前言
- 2. 参数分析
- 3. 总结
1.前言
http_build_query()是PHP中一个比较有趣的URL函数,它能够帮助我们轻易地的封装成URL格式,从而避免因为遗漏和格式错误导致的报错。
手册:https://www.php.net/manual/zh/function.http-build-query.php
2.参数分析
http_build_query ( mixed $query_data , string $numeric_prefix , string $arg_separato)函数比较值得关注的是前三个参数,下面让我们一起了解他吧~
第一个参数$query_data:
该参数是用来接收一维数组,http_build_query()函数会把这个数组按照“键=值”格式化成我们所需要的URL,比如:
<?php $data = array( 'name'=>'fangzhijie', 'qq'=>'747245429', 'action'=>'check', 'msg'=>'this is a test'); echo http_build_query($data);
结果是:
name=fangzhijie&qq=747245429&action=check&msg=this+is+a+test
第二个参数$numeric_prefix:
如果在基础数组中使用了数字下标同时给出了该参数,该参数值会作为基础数组中的数字下标元素的前缀展示,比如:
<?php $data = array( 'fangzhijie', '747245429', 'check', 'this is a test'); echo http_build_query($data,'test_');
结果是:
test_0=fangzhijie&test_1=747245429&test_2=check&test_3=this+is+a+test
第三个参数$arg_separato:
该参数是分隔参数,默认是&,比如:
<?php $data = array( 'name'=>'fangzhijie', 'qq'=>'747245429', 'action'=>'check', 'msg'=>'this is a test'); echo http_build_query($data,'','&mtdg&');
结果是:
name=fangzhijie&mtdg&qq=747245429&mtdg&action=check&mtdg&msg=this+is+a+test
3.总结
我为什么要把这个函数特意独立开章说明,其一是加深对这个函数的印象和使用技巧,其二是这个函数在封装例如:第三方登录接口、微信公众号接口等,是个实用性很高的函数,能够很好地避免我们拼接URL导致的不必要的错误,因此我们需要很好的掌握它。