PHP函數http_build_query使用詳解_php技巧

來源:互聯網
上載者:User

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.