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