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
Cú pháp hàm get_object_vars() trong PHP như sau:
get_object_vars ( object $object ) : array
Tham số truyền vào
- $object là tên class cần lấy giá trị.
Giá trị trả về
Hàm này trả một mảng chứa các thuộc tính của Object hoặc Class.
Ví dụ minh họa
<?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
}
?>
Ứng dụng
<?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 đó.
Các hàm liên quan
- get_class_method() – Lấy tất cả các mothod trong một Object hoặc Class
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