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是原始数据,是未解析的。

如果提交的是表单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'];-----数组形式
原文地址:https://www.cnblogs.com/ivy-zheng/p/11609276.html