Eienskapsnaam uit array in OOP in PHP
Kom ons kyk nou hoe om na 'n objek se eienskap te verwys volgens naam
uit 'n array-element.
Gestel ons het die volgende klas User:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Skep 'n objek van hierdie klas:
<?php
$user = new User('john', 'smit');
?>
Gestel daar is 'n array van eienskappe:
<?php
$props = ['name', 'surn'];
?>
Laat ons probeer om die waarde van die eienskap uit te voer wat in die nul-element van die array gestoor is:
<?php
echo $user->$props[0]; // sal so nie werk nie
?>
Om sodanige komplekse eienskapsnaam te laat werk, moet dit in krulhakies geplaas word, soos volg:
<?php
echo $user->{$props[0]}; // sal 'john' uitvoer
?>
Gegewe die volgende klas:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Gegewe 'n array:
<?php
$arr = ['name', 'salary', 'position'];
?>
Skep 'n objek van die klas Employee,
en verwys dan na sy eienskappe
deur die elemente van die array.