Hàm get_object_vars() trong PHP có nhiệm vụ lấy toàn bộ thuộc tính của một đối tượng hoặc Class.
Cú pháp hàm get_object_vars() trong PHP như sau:
get_object_vars ( object $object ) : array
Hàm này trả một mảng chứa các thuộc tính của Object hoặc Class.
<?php
class foo {
private $a;
public $b = 1;
public $c;
private $d;
static $e;
public function test() {
var_dump(get_object_vars($this));
}
}
$test = new foo;
var_dump(get_object_vars($test));
$test->test();
array(2) {
["b"]=>
int(1)
["c"]=>
NULL
}
array(4) {
["a"]=>
NULL
["b"]=>
int(1)
["c"]=>
NULL
["d"]=>
NULL
}
?><?php
class Potatoe {
public $skin;
protected $meat;
private $roots;
function __construct ( $s, $m, $r ) {
$this->skin = $s;
$this->meat = $m;
$this->roots = $r;
}
}
$Obj = new Potatoe ( 1, 2, 3 );
echo "<pre>\n";
echo "Using get_object_vars:\n";
$vars = get_object_vars ( $Obj );
print_r ( $vars );
echo "\n\nUsing array cast:\n";
$Arr = (array)$Obj;
print_r ( $Arr );
?>
This will returns:
Using get_object_vars:
Array
(
[skin] => 1
)
Using array cast:
Array
(
[skin] => 1
[meat] => 2
[roots] => 3
)Trong ví dụ trên bạn có thể thấy khi sử dụng hàm get_object_vars(), bạn sẽ lấy được các thuộc tính ở trạng thái public trong Class đó, còn các thuộc tính khác sẽ không thể thấy được. Để khắc phục vấn đề này bạn có thể sử dụng hàm print_r() để lấy các thuộc tính bên trong của Object đó.
Hi vọng với bài viết này, bạn đã hiểu rõ cách sử dụng hàm get_object_vars() trong PHP. Nếu thấy bài viết hay và ý nghĩa, hãy like và chia sẻ với bạn bè để mọi người cùng nhau học tập nhé. Cảm ơn bạn đã ghé thăm codetutam.com
Bình luận: