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

05/08/2022 - lượt xem
Chia sẻ
 
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 

  • $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            

    Liên hệ với chúng tôi

    Để lại thông tin để nhận được các bài viết khác

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

    Xem thêm nhiều bài tin mới nhất về Kiến thức

    Xem thêm