1、var_export()

var_export — 输出或返回一个变量的字符串表示
此函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 类似,不同的是其返回的表示是合法的 PHP 代码

您可以通过将函数的第二个参数设置为 TRUE,从而返回变量的表示。

$a = var_export($array,true) 将变量打印出来包括类型记录下来 然后输出,常用于记录日志

$data = [
'yyyyy',
'info'=>[1=>11,2=>22],
'333333'
];
dump($data);
// echo join(',',$data);---会报错,因为是二维数组,只适用于一维数组
var_export($data);----返回数组
echo '<br/>';
echo var_export($data,true);----返回字符串 输出结果
array(3) {
[0] => string(5) "yyyyy"
["info"] => array(2) {
[1] => int(11)
[2] => int(22)
}
[1] => string(6) "333333"
} -------dump输出
array ( 0 => 'yyyyy', 'info' => array ( 1 => 11, 2 => 22, ), 1 => '333333', )---数组 

array ( 0 => 'yyyyy', 'info' => array ( 1 => 11, 2 => 22, ), 1 => '333333', )---字符串

2、parse_str()

parse_str() 函数把查询字符串解析到变量中。

注释:如果未设置 array 参数,则由该函数设置的变量将覆盖已存在的同名变量。

注释:php.ini 文件中的 magic_quotes_gpc 设置影响该函数的输出。如果已启用,那么在 parse_str() 解析之前,变量会被 addslashes() 转换。

<?php
parse_str("name=Bill&age=60");
echo $name."<br>";
echo $age;
?> <?php
parse_str("name=Bill&age=60",$myArray);
print_r($myArray);
?>

3、file_get_contents('php://input', 'r');

$_REQUEST包含$_POST$_GET$_COOKIE的所有数据,是根据键值对解析好的。而php://input是原始数据,是未解析的。

如果提交的是表单formenctypeapplication/x-www-form-urlencoded或者multipart/form-data,那么表单中的键值对就会被解析到上述三个超全局变量中。而multipart/form-data编码提交的文件会被解析到$_FILES中。

而如果你提交的数据不是上述表单编码,可能无法解析,就可以用php://input来获取提交的原始数据。

index.html

 <form action="action.php" method="post" >
<input type="text" name="userName" id="userName" /><br/>
<input type="text" name="userPass" id="userPass" /><br/>
<input type="submit" value="ok" />
</form>

action.php

<?php
$raw_post_data = file_get_contents('php://input', 'r');
echo "-------\$_POST------------------<br/>";
echo var_dump($_POST) . "<br/>";
echo "-------php://input-------------<br/>";
echo $raw_post_data . "<br/>";
?>

输出:

1).php用file_get_contents("php://input")或者$HTTP_RAW_POST_DATA可以接收xml数据

2)file_get_contents("php://input") 获取数据进行解析

 parse_str($raw_post_data, $data);
var_export($data);
echo $data['userName'];-----数组形式

最新文章

  1. (转)struts2:数据校验,通过XWork校验框架实现(validation.xml)
  2. Java开发中经典的小实例-(随机产生验证码)
  3. JSValidation客户端验证框架
  4. u-boot board_uart_init流程
  5. 移动端折腾国外分享(facebook、twitter、linkedin)
  6. Sql Server Row_Number() 学习
  7. 【LeetCode 169】Majority Element
  8. 使用JProfiler进行内存分析
  9. O(1)时间删除链表节点
  10. FUDCon - FedoraProject
  11. 我的Android 4 学习系列之Intent 和 Broadcast Reciever
  12. 关于S/4HANA里Sales Office 和Sales Organization那些事儿
  13. 番外篇--Moddule Zero启动模板
  14. C#:多进程开发,控制进程数量
  15. flask 操作mysql的两种方式-sqlalchemy操作
  16. spring-cloud-hystrix-dasboard服务调用监控
  17. doctrine/annotation 的简单使用
  18. dubbo框架原理
  19. MySQL— 索引
  20. python+selenium2(二)

热门文章

  1. Linux+CLion+树莓派远程编译时,Cmake编译出现undefined reference to &#39;pthread_create&#39;的解决办法
  2. Jury Compromise
  3. centernet 相关
  4. http协议格式详解
  5. nginx 的使用
  6. CentOS 上 Jenkins 的安装
  7. RCAN——Image Super-Resolution Using Very Deep Residual Channel Attention Networks
  8. PHP拼多多模式,砍价免费拿商品算法
  9. Event事件与协程
  10. ajax的回调函数