這篇文章主要介紹了PHP函數http_build_query使用詳解,分別對傳入一維關聯數組、一維索引數組、二維數組、傳入對象等給出示例,需要的朋友可以參考下
什么是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也不會被打印出來!
新聞熱點
疑難解答