什麼是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也不會被列印出來!