1. 首页
  2. IT资讯

PHP使用http_build_query()构造URL字符串的方法

“u003Cdivu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fdfic-imagehandleru002F05313c97-4108-4328-89a1-feb92f16db45″ img_width=”1024″ img_height=”983″ alt=”PHP使用http_build_query()构造URL字符串的方法” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E1、明确需求u003Cu002Fpu003Eu003Cpu003E实战工作中经常会请求各种各样的接口,例如u003Cu002Fpu003Eu003Cpu003E•微信网页授权接口 u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F962ad27ad5054adfb54c3f889f932cff” img_width=”560″ img_height=”252″ alt=”PHP使用http_build_query()构造URL字符串的方法” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E• 高德周边检索接口 u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp3.pstatp.comu002Flargeu002Fpgc-imageu002Fb44413508a2a474ebecf50f04d28995b” img_width=”560″ img_height=”290″ alt=”PHP使用http_build_query()构造URL字符串的方法” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cpu003E•发现:下图是根据接口文档开发后的代码,发现代码可读性差(ps. 参数的作用不详)u003Cu002Fpu003Eu003Cpu003E• 解决:通过http_build_query函数优化u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002Ff512ef56e4f24da6836b4a52ce0459a7″ img_width=”560″ img_height=”214″ alt=”PHP使用http_build_query()构造URL字符串的方法” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cblockquoteu003Eu003Cpu003E<?phpu003Cu002Fpu003Eu003Cpu003E ###微信网页授权接口u003Cu002Fpu003Eu003Cpu003E u002Fu002F1.声明接口u003Cu002Fpu003Eu003Cpu003E $api = “https:u002Fu002Fopen.weixin.qq.comu002Fconnectu002Foauth2u002Fauthorize?appid=wx56e3e3d75414b3d0&redirect_uri=http:u002Fu002Fitcast.cnu002Flogin.php&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect”;u003Cu002Fpu003Eu003Cpu003E u002Fu002F2.跳转授权页面u003Cu002Fpu003Eu003Cpu003E header(“Location: $api”);u003Cu002Fpu003Eu003Cpu003E echo ‘<hr u002F>’;u003Cu002Fpu003Eu003Cpu003E ###高德地图周边检索接口u003Cu002Fpu003Eu003Cpu003E u002Fu002F1.声明接口u003Cu002Fpu003Eu003Cpu003E $api = “http:u002Fu002Frestapi.amap.comu002Fv3u002Fplaceu002Faround?key=b94b446f4ecad8b4f0e6cf758bacf915&location=121.611809,31.034800&keywords=如家&types=&radius=50000&offset=20&page=1&extensions=all”;u003Cu002Fpu003Eu003Cpu003E u002Fu002F2.请求接口u003Cu002Fpu003Eu003Cpu003E $data = file_get_contents($api);u003Cu002Fpu003Eu003Cpu003E u002Fu002F3.打印结果u003Cu002Fpu003Eu003Cpu003E var_dump($data);u003Cu002Fpu003Eu003Cu002Fblockquoteu003Eu003Cpu003E 2、语法说明u003Cu002Fpu003Eu003Cpu003E作用:将数组转化为GET形式(输出结果 -> 数组键1=数组值1&….数组键n=数组值n)u003Cu002Fpu003Eu003Cpu003E语法:http_build_query(数组)u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp9.pstatp.comu002Flargeu002Fpgc-imageu002F6436f3036db2456c9758f273c7345428″ img_width=”560″ img_height=”165″ alt=”PHP使用http_build_query()构造URL字符串的方法” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cblockquoteu003Eu003Cpu003E<?phpu003Cu002Fpu003Eu003Cpu003E u002Fu002F声明接口数据u003Cu002Fpu003Eu003Cpu003E $apiData = [u003Cu002Fpu003Eu003Cpu003E ‘user’ => ‘z3’,u003Cu002Fpu003Eu003Cpu003E ‘age’ => 18,u003Cu002Fpu003Eu003Cpu003E ‘sex’ => ‘boy’u003Cu002Fpu003Eu003Cpu003E ];u003Cu002Fpu003Eu003Cpu003E u002Fu002F将接口数据转化为GET形式字符串u003Cu002Fpu003Eu003Cpu003E echo http_build_query($apiData);u003Cu002Fpu003Eu003Cu002Fblockquoteu003Eu003Cpu003E 3、分析步骤u003Cu002Fpu003Eu003Cpu003E这里我们主要通过php的http_build_query函数,来格式化GET请求的参数。我们以微信网页授权接口为例,实现过程非常简单,一共只需要2个步骤:u003Cu002Fpu003Eu003Cpu003E① 将接口参数放到数组中u003Cu002Fpu003Eu003Cpu003E ② 通过php的http_build_query函数来格式化GET请求的参数u003Cu002Fpu003Eu003Cpu003E接下来,我们老师将带领大家通过以上2个步骤来实现接口代码优化….u003Cu002Fpu003Eu003Cpu003E4、推进代码u003Cu002Fpu003Eu003Cdiv class=”pgc-img”u003Eu003Cimg src=”http:u002Fu002Fp1.pstatp.comu002Flargeu002Fpgc-imageu002F9d4d09f3c24746f1bd8a6b66e79383c9″ img_width=”560″ img_height=”174″ alt=”PHP使用http_build_query()构造URL字符串的方法” inline=”0″u003Eu003Cp class=”pgc-img-caption”u003Eu003Cu002Fpu003Eu003Cu002Fdivu003Eu003Cblockquoteu003Eu003Cpu003E<?phpu003Cu002Fpu003Eu003Cpu003E ###微信网页授权接口u003Cu002Fpu003Eu003Cpu003E u002Fu002F1.声明接口数据u003Cu002Fpu003Eu003Cpu003E $apiData = [u003Cu002Fpu003Eu003Cpu003E ‘appid’ => ‘wx56e3e3d75414b3d0’, u002Fu002F公众号的唯一标识u003Cu002Fpu003Eu003Cpu003E ‘redirect_uri’ => ‘http:u002Fu002Fitcast.cnu002Flogin.php’, u002Fu002F授权后重定向的回调链接地址u003Cu002Fpu003Eu003Cpu003E ‘response_type’ => ‘code’, u002Fu002F返回类型,请填写codeu003Cu002Fpu003Eu003Cpu003E ‘scope’ => ‘snsapi_base’, u002Fu002F应用授权作用域:snsapi_baseu002Fsnsapi_userinfo u003Cu002Fpu003Eu003Cpu003E ‘state’ => ‘STATE#wechat_redirect’ u002Fu002F必填参数u003Cu002Fpu003Eu003Cpu003E ];u003Cu002Fpu003Eu003Cpu003E u002Fu002F2.声明接口u003Cu002Fpu003Eu003Cpu003E $api = “https:u002Fu002Fopen.weixin.qq.comu002Fconnectu002Foauth2u002Fauthorize?”.http_build_query($apiData);u003Cu002Fpu003Eu003Cpu003E u002Fu002F3.跳转授权页面u003Cu002Fpu003Eu003Cpu003E header(“Location: $api”);u003Cu002Fpu003Eu003Cu002Fblockquoteu003Eu003Cu002Fdivu003E”

原文始发于:PHP使用http_build_query()构造URL字符串的方法

主题测试文章,只做测试使用。发布者:程序员,转转请注明出处:http://www.cxybcw.com/26844.html

联系我们

13687733322

在线咨询:点击这里给我发消息

邮件:1877088071@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code