Nazwa właściwości z tablicy w OOP w PHP

Przyjrzyjmy się teraz, jak odwołać się do właściwości obiektu po nazwie z elementu tablicy. Załóżmy, że mamy następującą klasę User:

php<?php
  class User
  {
    public $name;
    public $surn;
    
    public function __construct($name, $surn)
    {
      $this->name = $name;
      $this->surn = $surn;
    }
  }
?>

Utwórzmy obiekt tej klasy:

php<?php
  $user = new User('john', 'smit');
?>

Załóżmy, że dana jest tablica właściwości:

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

Spróbujmy teraz wypisać wartość właściwości, która jest przechowywana w zerowym elemencie tablicy:

php<?php
  echo $user->$props[0]; // tak nie będzie działać
?>

Aby tak złożona nazwa właściwości zadziałała, należy ją umieścić w nawiasach klamrowych, w ten sposób:

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

Dana jest następująca klasa:

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;
    }
  }
?>

Dana jest tablica:

php<?php
  $arr = ['name', 'salary', 'position'];
?>

Utwórz obiekt klasy Employee, a następnie odwołaj się do jego właściwości przez elementy tablicy.