什麼是http_build_query?
使用給出的關聯(或下標)數組生成一個經過 URL-encode 的請求字符串。參數 formdata 可以是數組或包含屬性的對象。一個 formdata 數組可以是簡單的一維結構,也可以是由數組組成的數組(其依次可以包含其它數組)。如果在基礎數組中使用了數字下標同時給出了 numeric_prefix 參數,此參數值將會作為基礎數組中的數字下標元素的前綴。這是為了讓 PHP 或其它 CGI 程序在稍後對數據進行解碼時獲取合法的變量名
http_build_query有多種用法,不僅可以傳入關聯數組,同時也可以傳入索引數組,甚至多維數組以及對象。
http_build_query怎麼使用?
復制代碼 代碼如下:
string http_build_query ( array $formdata [, string $numeric_prefix ] )
傳入一維關聯數組
復制代碼 代碼如下:
Array
(
[name] => lizhong
[age] => 18
)
name=lizhong&age=18
傳入一維索引數組
復制代碼 代碼如下:
Array
(
[0] => lizhong
[1] => 18
)
0=lizhong&1=18
傳入二維數組
復制代碼 代碼如下:
Array
(
[a] => Array
(
[a] => a
[b] => b
)
[c] => c
)
a%5Ba%5D=a&a%5Bb%5D=b&c=c
傳入對象
復制代碼 代碼如下:
class Obj{
public $a = 'a';
public $b = 'b';
private $c = 'c';
public function func(){
return;
}
}
$obj = new Obj();
$str = http_build_query($obj);
echo $str;
輸出:
復制代碼 代碼如下:
a=a&b=b
因為$c為私有變量,所以訪問不到$c成員,於是只有a與b被輸出。而對象裡的function也不會被打印出來!