什么是http_build_query憔古?
使用給出的關(guān)聯(lián)(或下標(biāo))數(shù)組生成一個經(jīng)過 URL-encode 的請求字符串辨泳。參數(shù) formdata 可以是數(shù)組或包含屬性的對象。一個 formdata 數(shù)組可以是簡單的一維結(jié)構(gòu)喊崖,也可以是由數(shù)組組成的數(shù)組(其依次可以包含其它數(shù)組)腿箩。如果在基礎(chǔ)數(shù)組中使用了數(shù)字下標(biāo)同時給出了 numeric_prefix 參數(shù)豪直,此參數(shù)值將會作為基礎(chǔ)數(shù)組中的數(shù)字下標(biāo)元素的前綴。這是為了讓 PHP 或其它 CGI 程序在稍后對數(shù)據(jù)進行解碼時獲取合法的變量名
http_build_query有多種用法珠移,不僅可以傳入關(guān)聯(lián)數(shù)組弓乙,同時也可以傳入索引數(shù)組,甚至多維數(shù)組以及對象钧惧。
http_build_query怎么使用暇韧?
string http_build_query ( array $formdata [, string $numeric_prefix ] )
傳入一維關(guān)聯(lián)數(shù)組
Array
(
[name] => lizhong
[age] => 18
)
name=lizhong&age=18
傳入一維索引數(shù)組
Array
(
[0] => lizhong
[1] => 18
)
0=lizhong&1=18
傳入二維數(shù)組
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也不會被打印出來!