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