Hàm var_export() trong PHP dùng để in thông tin của biến truyền vào, có cách sử dụng khá giống với hàm var_dump()
var_export ( mixed$expression[, bool$return=FALSE] ) : mixed
expression là biến cần in ra thông tin.Lưu ý: khi tham số return được sử dụng, hàm này sử dụng bên trong bộ đệm đầu ra, do đó không thể sử dụng nó trong hàm gọi lại ob_start ().
(object) array( ... )), thay vì sử dụng phương thức không tồn tại stdClass :: __ setState (). Hiệu quả thực tế là bây giờ stdClass có thể xuất được và mã kết quả sẽ hoạt động ngay cả trên các phiên bản trước của PHP.<?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',
),
)code:
<?php $person = new stdClass; $person->name = 'codetutam.com'; $person->website = 'https://php.net/elephpant.php'; var_export($person);
Kết quả:
(object) array( 'name' => 'codetutam.com', 'website' => 'https://php.net/elephpant.php', )
code:
<?php
class A { public $var; }
$a = new A;
$a->var = 5;
var_export($a);
?>kết quả:
A::__set_state(array( 'var' => 5, ))
code:
<?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);
?>Kết quả:
object(A)#2 (2) {
["var1"]=>
int(5)
["var2"]=>
string(3) "foo"
}Có vẻ như kể từ phiên bản 5.4.22 var_export sử dụng cài đặt ini serialize_precision, thay vì cài đặt chính xác được sử dụng cho đầu ra bình thường của các số dấu phẩy động.
Do đó, kể từ phiên bản 5.4.22, ví dụ var_export (1.1) sẽ xuất 1.1000000000000001 (17 là giá trị chính xác mặc định) chứ không phải 1.1 như trước đây.
<?php //ouput 1.1000000000000001 var_export(1.1) ?>
Các bạn có thể xem chi tiết hơn trên php.net.
Hi vọng với bài viết này, bạn đã hiểu rõ ứng dụng của hàm var_export() trong PHP. Nếu bạn thấy bài viết hay và có ý nghĩa hãy like và chia sẻ bài viết này để mọi người cùng nhau học tập nhé.
Cảm ơn các bạn đã ghé thăm codetutam.com
Bình luận: