php的http_build_query使用

http_build_query生成 url-encoded 之后的请求字符串

 

1、使用键值对,关联数组:

<?php

$data = array('foo'=>'bar',

              'baz'=>'boom',

              'cow'=>'milk',

              'php'=>'hypertext processor');

              

echo http_build_query($data);

/* 输出:

      foo=bar&baz=boom&cow=milk&php=hypertext+processor

*/

?> 

2、使用数字下标

<?php

$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

*/

?> 

 3、使用多维数组:

<?php

$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 下的元素)则不需要为了合法的变量名而加上前缀。

*/

?> 

4、使用对象

<?php

class myClass {

  var $foo;

  var $baz;

  

  function myClass() {

    $this->foo = 'bar';

    $this->baz = 'boom';

  }

}



$data = new myClass();



echo http_build_query($data);

/* 输出:

      foo=bar&baz=boom

*/

?> 

 

你可能感兴趣的:(Build)