Eigenschaftsname aus assoziativem Array in OOP in PHP
Schauen wir uns nun an, wie man auf
eine Objekteigenschaft anhand des Namens
aus einem Element eines assoziativen Arrays zugreift.
Nehmen wir an, wir haben die folgende Klasse User:
<?php
class User
{
public $name;
public $surn;
public function __construct($name, $surn)
{
$this->name = $name;
$this->surn = $surn;
}
}
?>
Erstellen wir ein Objekt dieser Klasse:
<?php
$user = new User('john', 'smit');
?>
Nehmen wir an, ein Array mit Eigenschaften ist gegeben:
<?php
$props = ['prop1' => 'name', 'prop2' => 'surn'];
?>
Greifen wir auf die Objekteigenschaft zu, deren Name in einem Element unseres Arrays gespeichert ist:
<?php
echo $user->{$props['prop1']}; // gibt 'john' aus
?>
Gegeben ist die folgende Klasse:
<?php
class Employee
{
public $name;
public $salary;
public $position;
public function __construct($name, $salary, $position)
{
$this->name = $name;
$this->salary = $salary;
$this->position = $position;
}
}
?>
Gegeben ist das Array:
<?php
$arr = [
'prop1' => 'name',
'prop2' => 'salary',
'prop3' => 'position'
];
?>
Erstellen Sie ein Objekt der Klasse Employee
und greifen Sie dann auf seine Eigenschaften
durch die Elemente des Arrays zu.