http_build_query

http_build_query生成 URL-encode 以後的請求字符串php

 

string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $arg_separator [, int $enc_type = PHP_QUERY_RFC1738 ]]] )數組

 

Note:只有基礎數組中的數字下標元素才獲取了前綴,其它數字下標元素則不須要爲了合法的變量名而加上前綴。ui

 

注意,http_build_query() Returns a URL-encoded string.this

(今天在作一個接口的時候,發現重複編碼2次,一直找不到問題...後來發現其中一次是在此處...)編碼

 

mixed $query_data:objecturl

<?php
class parentClass {
    public    $pub      = 'publicParent';
    protected $prot     = 'protectedParent';
    private   $priv     = 'privateParent';
    public    $pub_bar  = Null;
    protected $prot_bar = Null;
    private   $priv_bar = Null;

    public function __construct(){
        $this->pub_bar  = new childClass();
        $this->prot_bar = new childClass();
        $this->priv_bar = new childClass();
    }
}

class childClass {
    public    $pub  = 'publicChild';
    protected $prot = 'protectedChild';
    private   $priv = 'privateChild';
}

$parent = new parentClass();

echo '$parent->pub = ' . $parent->pub;
echo '<br>';
echo '$parent->pub_bar->pub = ' . $parent->pub_bar->pub;
echo '<br>';
echo urldecode(http_build_query($parent));
?>//結果 權限問題,最終打印出的是public的內容。$parent->pub = publicParent$parent->pub_bar->pub = publicChildpub=publicParent&pub_bar[pub]=publicChild
相關文章
相關標籤/搜索