Eigenschaftsname aus Array in OOP in PHP

Schauen wir uns nun an, wie man auf eine Eigenschaft eines Objekts über den Namen aus einem Array-Element zugreift. Nehmen wir an, wir haben die folgende Klasse User:

php<?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<?php
  $user = new User('john', 'smit');
?>

Nehmen wir an, ein Array mit Eigenschaften ist gegeben:

php<?php
  $props = ['name', 'surn'];
?>

Versuchen wir nun, den Wert der Eigenschaft auszugeben, die im nullten Element des Arrays gespeichert ist:

php<?php
  echo $user->$props[0]; // so wird es nicht funktionieren
?>

Damit ein solcher komplexer Eigenschaftsname funktioniert, muss er in geschweifte Klammern gesetzt werden, so wie hier:

php<?php
  echo $user->{$props[0]}; // gibt 'john' aus
?>
Задание 1

Gegeben ist die folgende Klasse:

php<?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<?php
  $arr = ['name', 'salary', 'position'];
?>

Erstellen Sie ein Objekt der Klasse Employee und greifen Sie dann auf seine Eigenschaften über die Elemente des Arrays zu.