var_export 输出或返回一个变量的字符串表示
发表日期:2021-07-01 08:57:22 | 来源: | | 浏览(757) 分类:变量处理 函数
var_export
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
var_export — 输出或返回一个变量的字符串表示
说明
$expression
, bool $return
= false
): mixedvar_export() 函数返回关于传递给该函数的变量的结构信息,它和 var_dump() 函数类似,不同的是其返回的表示是合法的 PHP 代码。
参数
-
expression
-
想要输出的变量名。
-
return
-
此参数为
true
时,var_export() 将返回一个变量,而不是输出它。
返回值
参数 return
为 true
时返回变量,否则返回 null
。
注释
注意:
当使用了
return
参数时,本函数使用其内部输出缓冲,因此不能在 ob_start() 回调函数的内部使用。
更新日志
版本 | 说明 |
---|---|
7.3.0 |
Now exports stdClass objects as an array cast to
an object ((object) array( ... ) ), rather than using the
nonexistent method stdClass::__setState().
The practical effect is that now stdClass is
exportable, and the resulting code will even work on earlier versions of
PHP.
|
范例
示例 #1 var_export() 示例
<?php $a = array (1, 2, array ("a", "b", "c")); var_export($a); ?>
以上例程会输出:
array ( 0 => 1, 1 => 2, 2 => array ( 0 => 'a', 1 => 'b', 2 => 'c', ), )
<?php $b = 3.1; $v = var_export($b, true); echo $v; ?>
以上例程会输出:
3.1
示例 #2 输出类 stdClass (自 PHP 7.3.0 起)
<?php $person = new stdClass; $person->name = 'ElePHPant ElePHPantsdotter'; $person->website = 'https://php.net/elephpant.php'; var_export($person);
以上例程会输出:
(object) array( 'name' => 'ElePHPant ElePHPantsdotter', 'website' => 'https://php.net/elephpant.php', )
示例 #3 输出对象 (自 PHP 5.1.0 起)
<?php class A { public $var; } $a = new A; $a->var = 5; var_export($a); ?>
以上例程会输出:
A::__set_state(array( 'var' => 5, ))
示例 #4 使用 __set_state() (自 PHP 5.1.0 起)
<?php class A{ public $var1; public $var2; public static function __set_state($an_array) { $obj = new A; $obj->var1 = $an_array['var1']; $obj->var2 = $an_array['var2']; return $obj; } } $a = new A; $a->var1 = 5; $a->var2 = 'foo'; eval('$b = ' . var_export($a, true) . '; '); // $b = A::__set_state(array( // 'var1' => 5, // 'var2' => 'foo', // )); var_dump($b); ?>
以上例程会输出:
object(A)#2 (2) { ["var1"]=> int(5) ["var2"]=> string(3) "foo" }
注释
注意:
类型为 resource 的变量无法通过此函数输出。
注意:
var_export() does not handle circular references as it would be close to impossible to generate parsable PHP code for that. If you want to do something with the full representation of an array or object, use serialize().
When var_export() exports objects, the leading backslash is not included in the class name of namespaced classes for maximum compatibility.
注意:
To be able to evaluate the PHP generated by var_export(), all processed objects must implement the magic __set_state method. The only exception is stdClass, which is exported using an array cast to an object.
- PHP(0)
- PHP杂项(34)
- PHP基础-李炎恢系列课程(20)
- 中文函数手册(0)
- 错误处理 函数(13)
- OPcache 函数(6)
- PHP 选项/信息 函数(54)
- Zip 函数(10)
- Hash 函数(15)
- OpenSSL 函数(63)
- Date/Time 函数(51)
- 目录函数(9)
- Fileinfo 函数(6)
- iconv 函数(11)
- 文件系统函数(81)
- 多字节字符串 函数(57)
- GD 和图像处理 函数(114)
- 可交换图像信息(5)
- Math 函数(50)
- 程序执行函数(11)
- PCNTL 函数(23)
- JSON 函数(4)
- SPL 函数(15)
- URL 函数(10)
- cURL 函数(32)
- 网络 函数(33)
- FTP 函数(36)
- Session 函数(23)
- PCRE 函数(11)
- PCRE 正则语法(19)
- 数组 函数(81)
- 类/对象 函数(18)
- 函数处理 函数(13)
- 变量处理 函数(37)
- boolval 获取变量的布尔值(0)
- debug_zval_dump Dumps a string representation of an internal zval structure to output(0)
- doubleval floatval() 的别名(0)
- empty 检查一个变量是否为空(0)
- floatval 获取变量的浮点值(0)
- get_debug_type Gets the type name of a variable in a way that is suitable for debugging(0)
- get_defined_vars 返回由所有已定义变量所组成的数组(0)
- get_resource_id Returns an integer identifier for the given resource(0)
- get_resource_type 返回资源(resource)类型(0)
- gettype 获取变量的类型(0)
- intval 获取变量的整数值(0)
- is_array 检测变量是否是数组(0)
- is_bool 检测变量是否是布尔值(0)
- is_callable 检测参数是否为合法的可调用结构(0)
- is_countable Verify that the contents of a variable is a countable value(0)
- is_double is_float() 的别名(0)
- is_float 检测变量是否是浮点型(0)
- is_int 检测变量是否是整数(0)
- is_integer is_int() 的别名(0)
- is_iterable Verify that the contents of a variable is an iterable value(0)
- is_long is_int() 的别名(0)
- is_null 检测变量是否为 null(0)
- is_numeric 检测变量是否为数字或数字字符串(0)
- is_object 检测变量是否是一个对象(0)
- is_real is_float() 的别名(0)
- is_resource 检测变量是否为资源类型(0)
- is_scalar 检测变量是否是一个标量(0)
- is_string 检测变量是否是字符串(0)
- isset 检测变量是否已设置并且非 null(0)
- print_r 以易于理解的格式打印变量。(0)
- serialize 产生一个可存储的值的表示(0)
- settype 设置变量的类型(0)
- strval 获取变量的字符串值(0)
- unserialize 从已存储的表示中创建 PHP 的值(0)
- unset 释放给定的变量(0)
- var_dump 打印变量的相关信息(0)
- var_export 输出或返回一个变量的字符串表示(0)
- SimpleXML 函数(3)
- 杂项 函数(31)
- 字符串 函数(101)