Номи хосият аз массивҳои ассотсиатсивӣ дар ООП дар 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-ро эҷод кунед,
ва сипас ба хосиятҳои он тавассути унсурҳои массив муроҷиат кунед.