PHP да Object Oriented Programming да объект хусусияти номига massiv элементи орқали мурожаат қилиш
Келинг, энди объект хусусиятига унинг номига
massiv элементи орқали қандай мурожаат қилишни
кўриб чиқайлик.
Фарз қилайлик, бизда қуйидаги User класси мавжуд:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Ушбу класснинг объектини яратамиз:
<?php
$user = new User('john', 'smit');
?>
Фарз қилайлик, хусусиятлар massivi берилган:
<?php
$props = ['name', 'surn'];
?>
Энди massivнинг нол элементида сақланган хусусиятнинг қийматини чиқриб кўрайлик:
<?php
echo $user->$props[0]; // бу ишламайди
?>
Бундай мураккаб хусусият номининг ишлаши учун, уни фигурли қавс ичига олиш керак, мана бу қандай:
<?php
echo $user->{$props[0]}; // 'john' ни чиқаради
?>
Қуйидаги класс берилган:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Massiv берилган:
<?php
$arr = ['name', 'salary', 'position'];
?>
Employee классининг объектини яратинг,
сўнгра унинг хусусиятларига
massiv элементлари орқали мурожаат қилинг.