http_build_query 字符串拼接

Posted 次瓜

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了http_build_query 字符串拼接相关的知识,希望对你有一定的参考价值。

http_build_query 字符串拼接

产生一个urlencode之后的请求字符串。

1.将数组转化成url问号(?)后的字符串

 1 <?php
 2   $date=array(
 3           ‘name‘=>‘tane‘,
 4           ‘sex‘ =>1,
 5           ‘job‘ => ‘officer‘
 6           ‘text‘ =>‘hello world‘
 7   );
 8   echo http_build_query($date);
 9   //输出 name=tane&sex=1&job=officer&text=hello+world
10 ?>

2.http_build_query() 添加数字下标

$data = array(‘name‘, ‘tane‘, ‘sex‘,  ‘job‘ => ‘officer‘, ‘text‘ =>‘hello world‘);
   echo http_build_query($date,‘remot_‘);
   //输出 remot_0=name&remote_1=tane&remot_2=sex&job=officer&text=hello+world

3.http_build_query() 使用复杂的数组

<?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‘<br>),‘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.http_build_query()使用对象

<?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*/
?>      

 

以上是关于http_build_query 字符串拼接的主要内容,如果未能解决你的问题,请参考以下文章

PHP使用http_build_query()构造URL字符串的方法(可将POST参数组转换拼接成GET请求链接)

http_build_query用法

http_build_query()函数使用方法

http_build_query()函数使用方法

http_build_query()函数使用方法

面试知识点总结