Όνομα ιδιότητας από πίνακα στο ΑΟΠ στην PHP

Ας δούμε τώρα πώς να απευθυνθούμε σε μια ιδιότητα αντικειμένου με βάση το όνομα από ένα στοιχείο πίνακα. Ας υποθέσουμε ότι έχουμε την ακόλουθη κλάση User:

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

Ας δημιουργήσουμε ένα αντικείμενο αυτής της κλάσης:

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

Ας υποθέσουμε ότι δίνεται ένας πίνακας ιδιοτήτων:

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

Ας προσπαθήσουμε τώρα να εμφανίσουμε την τιμή της ιδιότητας, που αποθηκεύεται στο μηδενικό στοιχείο του πίνακα:

php<?php
  echo $user->$props[0]; // έτσι δεν θα λειτουργήσει
?>

Για να λειτουργήσει ένα τόσο σύνθετο όνομα ιδιότητας, πρέπει να το περικλείσουμε σε αγκύλες, έτσι:

php<?php
  echo $user->{$props[0]}; // θα εμφανίσει 'john'
?>
Задание 1

Δίνεται η ακόλουθη κλάση:

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

Δίνεται ο πίνακας:

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

Δημιουργήστε ένα αντικείμενο της κλάσης Employee, και στη συνέχεια απευθυνθείτε στις ιδιότητές του μέσω των στοιχείων του πίνακα.