PHP да ООПда ассоциатив массивдан олинган хосса номи
Келинг энди объект хоссасига унинг номи
ассоциатив массив элементида сақланган холда
қандай мурожаат этишни кўриб чиқайлик.
Бизда куйидаги 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');
?>
Хоссалар массиви берилган деб фараз қилайлик:
<?php
$props = ['prop1' => 'name', 'prop2' => 'surn'];
?>
Объект хоссасига унинг номи бизнинг массивимиз элементида сақланган холда мурожаат этайлик:
<?php
echo $user->{$props['prop1']}; // '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;
}
}
?>
Массив берилган:
<?php
$arr = [
'prop1' => 'name',
'prop2' => 'salary',
'prop3' => 'position'
];
?>
Employee классидан объект яратиб,
сўнгра унинг хоссаларига
массив элементлари орқали мурожаат этинг.