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