http_build_query

http_build_query:生成 url-encoded 以后的请求字符串描述string php

用法:http_build_query ( array formdata [, string numeric_prefix] )数组

$data = array(
    'foo' => 'bar',
    'baz' => 'boom',
    'cow' => 'milk',
    'php' => 'hypertext processor',
);
echo http_build_query($data);
/* 输出:
0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
 */
$data = array('foo', 'bar', 'baz', 'boom', 'cow' => 'milk', 'php' => 'hypertext processor');
echo http_build_query($data);
/* 输出:
0=foo&1=bar&2=baz&3=boom&cow=milk&php=hypertext+processor
 */
echo http_build_query($data, 'myvar_');
/* 输出:
myvar_0=foo&myvar_1=bar&myvar_2=baz&myvar_3=boom&cow=milk&php=hypertext+processor
 */
$data = array(
    'user'     => array(
        'name' => 'Bob Smith',
        'age'  => 47,
        'sex'  => 'M',
        'dob'  => '5/12/1956',
    ),
    'pastimes' => array('golf', 'opera', 'poker', 'rap'),
    'children' => array(
        'bobby' => array(
            'age' => 12,
            'sex' => 'M',
        ),
        'sally' => array(
            'age' => 8,
            'sex' => 'F',
        ),
    ),
    'CEO',
);
echo http_build_query($data, 'flags_');
/* 输出:(为了可读性对其进行了折行)
user[name]=Bob+Smith&user[age]=47&user[sex]=M&user[dob]=5%1F12%1F1956&
pastimes[0]=golf&pastimes[1]=opera&pastimes[2]=poker&pastimes[3]=rap&
children[bobby][age]=12&children[bobby][sex]=M&children[sally][age]=8&
children[sally][sex]=F&flags_0=CEO
注意:只有基础数组中的数字下标元素“CEO”才获取了前缀,其它数字下标元素(如
pastimes 下的元素)则不须要为了合法的变量名而加上前缀。
 */
class myClass
{
    public $foo;
    public $baz;
    function myClass()
    {
        $this->foo = 'bar';
        $this->baz = 'boom';
    }
}
$data = new myClass();
echo http_build_query($data);
/* 输出:
foo=bar&baz=boom
 */

总结:很是使用的函数,php从本质上讲是一种面向过程的语言,只不过它封装不少的函数,而且有class,interface等内容,才能够说是能面向对象。函数