1. 程式人生 > >PHP 拼接 url 字串的函式

PHP 拼接 url 字串的函式

在處理微信圖文訊息的連結時常常有很多引數的連結,會寫的很長,不易閱讀且容易出錯,而且有些引數忘記 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;
	}