這篇文章主要介紹了PHP函數(shù)http_build_query使用詳解,分別對傳入一維關(guān)聯(lián)數(shù)組、一維索引數(shù)組、二維數(shù)組、傳入對象等給出示例,需要的朋友可以參考下
什么是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ù)進(jìn)行解碼時獲取合法的變量名
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
因?yàn)?c為私有變量,所以訪問不到$c成員,于是只有a與b被輸出。而對象里的function也不會被打印出來!
新聞熱點(diǎn)
疑難解答