Code Tu Tam

Hàm get_object_vars() trong PHP là gì ?

5/5 - (2 bình chọn)

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 

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

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            

Exit mobile version