Функсияи get_object_vars

Функсияи get_object_vars як массиви ассотсиативӣ бармегардонад, ки хусусиятҳои объекти додашударо дар бар мегирад. Дар массиви баргардонидашуда калидҳо номҳои хусусиятҳо ва қиматҳо - қиматҳои мувофиқи ин хусусиятҳо хоҳанд буд. Функсия як параметр қабул мекунад - объект, ки хусусиятҳои он бояд гирифта шаванд.

Синтаксис

phpget_object_vars(object);

Мисол

Хусусиятҳои як объекти соддаро мегирем:

php<?php
  class MyClass {
    public $a = 1;
    public $b = 2;
    private $c = 3;
  }
  
  $obj = new MyClass();
  $res = get_object_vars($obj);
  print_r($res);
?>

Натиҷаи иҷрои код:

php['a' => 1, 'b' => 2]

Мисол

Функсия хусусиятҳои private ва protected-ро бар намегардонад:

php<?php
  class Test {
    public $x = 10;
    protected $y = 20;
    private $z = 30;
  }
  
  $test = new Test();
  $res = get_object_vars($test);
  print_r($res);
?>

Натиҷаи иҷрои код:

php['x' => 10]

Мисол

Кор бо хусусиятҳои динамикӣ:

php<?php
  $user = new stdClass();
  $user->name = 'John';
  $user->age = 25;
  
  $res = get_object_vars($user);
  print_r($res);
?>

Натиҷаи иҷрои код:

php['name' => 'John', 'age' => 25]

Инчунин бубинед

  • функсияи get_class_vars,
    ки хусусиятҳои синфро бармегардонад
  • функсияи property_exists,
    ки мавҷудияти хусусиятро тафтиш мекунад
  • функсияи get_defined_vars,
    ки ҳамаи тағирёбандаҳоро бармегардонад