php 一些常用函数
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是原始数据,是未解析的。
如果提交的是表单form,enctype是application/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'];-----数组形式

浙公网安备 33010602011771号