在处理微信图文消息的链接时常常有很多参数的链接,会写的很长,不易阅读且容易出错,而且有些参数忘记 Url还会导致页面不显示,因此写了此函数
直接上函数
/**
* 拼接http 请求串
*
* @tutorial 模仿 php 的http_build_query($query_data)方法,
* 但只能处理简单的键名值数组,没有办法处理对象;
* 做这函数的原因是一个接口中使用http_build_query拼出的结果与接口不一致
* @param unknown $query_data
* 要拼接参数的键名->值数组
* @param string $encoding 是否 urlencode 编码(如果是微信,有时不进行编码会无法显示)
* @return string 拼接完成的字符串(不含 domain?)
*/
function build_query($query_data, $encoding = false) {
$res = '';
$count = count ( $query_data );
$i = 0;
foreach ( $query_data as $k => $v ) {
if ($encoding === true) {
$v = urlencode ( $v );
}
if ($i < $count - 1) {
$res .= $k . '=' . $v . '&';
} else {
$res .= $k . '=' . $v;
}
$i ++;
}
return $res;
}