首页技术文章正文

http_build_query【黑马PHP培训】

更新时间:2019年08月01日 19时19分16秒 来源:黑马程序员论坛

黑马中级程序员课程

1、明确需求
实战工作中经常会请求各种各样的接口,例如
  • 微信网页授权接口
  • 高德周边检索接口
  • 发现:下图是根据接口文档开发后的代码,发现代码可读性差(ps. 参数的作用不详)
  • 解决:通过http_build_query函数优化
  • [PHP] 纯文本查看 复制代码
    <?php
    ###微信网页授权接口
    //1.声明接口
    $api = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx56e3e3d75414b3d0&redirect_uri=http://itcast.cn/login.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
    //2.跳转授权页面
    header("Location: $api");
    
    echo '<hr />';
    
    ###高德地图周边检索接口
    //1.声明接口
    $api = "http://restapi.amap.com/v3/place/around?key=b94b446f4ecad8b4f0e6cf758bacf915&location=121.611809,31.034800&keywords=如家&types=&radius=50000&offset=20&page=1&extensions=all";
    //2.请求接口
    $data = file_get_contents($api);
    //3.打印结果
    var_dump($data);

2、语法说明
作用:将数组转化为GET形式(输出结果 -> 数组键1=数组值1&....数组键n=数组值n)
语法:http_build_query(数组)
[PHP] 纯文本查看 复制代码
<?php
//声明接口数据
$apiData = [
	'user' => 'z3',
	'age' => 18,
	'sex' => 'boy'
];
//将接口数据转化为GET形式字符串
echo http_build_query($apiData);
3、分析步骤这里我们主要通过php的http_build_query函数,来格式化GET请求的参数。我们以微信网页授权接口为例,实现过程非常简单,一共只需要2个步骤
① 将接口参数放到数组中
② 通过php的http_build_query函数来格式化GET请求的参数
接下来,我们老师将带领大家通过以上2个步骤来实现接口代码优化....
4、推进代码
[PHP] 纯文本查看 复制代码
<?php
###微信网页授权接口
//1.声明接口数据
$apiData = [
	'appid'		  	=> 'wx56e3e3d75414b3d0',     	 //公众号的唯一标识
	'redirect_uri'  => 'http://itcast.cn/login.php', //授权后重定向的回调链接地址
	'response_type' => 'code', 		   //返回类型,请填写code
	'scope'	=> 'snsapi_base', 	       //应用授权作用域:snsapi_base/snsapi_userinfo 
	'state'	=> 'STATE#wechat_redirect' //必填参数
];
//2.声明接口
$api = "https://open.weixin.qq.com/connect/oauth2/authorize?".http_build_query($apiData);
//3.跳转授权页面
header("Location: $api");






推荐了解热门学科

java培训 Python人工智能 Web前端培训 PHP培训
区块链培训 影视制作培训 C++培训 产品经理培训
UI设计培训 新媒体培训 软件测试培训 Linux运维
大数据培训 智能机器人软件开发




传智播客是一家致力于培养高素质软件开发人才的科技公司“黑马程序员”是传智播客旗下高端IT教育品牌。自“黑马程序员”成立以来,教学研发团队一直致力于打造精品课程资源,不断在产、学、研3个层面创新自己的执教理念与教学方针,并集中“黑马程序员”的优势力量,针对性地出版了计算机系列教材50多册,制作教学视频数+套,发表各类技术文章数百篇。

传智播客从未停止思考

传智播客副总裁毕向东在2019IT培训行业变革大会提到,“传智播客意识到企业的用人需求已经从初级程序员升级到中高级程序员,具备多领域、多行业项目经验的人才成为企业用人的首选。”

中级程序员和初级程序员的差别在哪里?
项目经验。毕向东表示,“中级程序员和初级程序员最大的差别在于中级程序员比初级程序员多了三四年的工作经验,从而多出了更多的项目经验。“为此,传智播客研究院引进曾在知名IT企业如阿里、IBM就职的高级技术专家,集中研发面向中高级程序员的课程,用以满足企业用人需求,尽快补全IT行业所需的人才缺口。

何为中高级程序员课程?

传智播客进行了定义。中高级程序员课程,是在当前主流的初级程序员课程的基础上,增加多领域多行业的含金量项目,从技术的广度和深度上进行拓展“我们希望用5年的时间,打造上百个高含金量的项目,覆盖主流的32个行业。”传智播客课程研发总监于洋表示。




黑马程序员热门视频教程

Python入门教程完整版(懂中文就能学会) 零起点打开Java世界的大门
C++| 匠心之作 从0到1入门学编程 PHP|零基础入门开发者编程核心技术
Web前端入门教程_Web前端html+css+JavaScript 软件测试入门到精通


在线咨询 我要报名
和我们在线交谈!