ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗ppOpCgPNA 38 of 107 menu
Новый формат обучения! Репетиторство по программированию. Есть еще 3 свободных места! Жми для подробностей.

Имя свойства из массива в ООП в PHP

Давайте теперь посмотрим, как обратиться к свойству объекта по имени из элемента массива. Пусть у нас есть следующий класс User:

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

Создадим объект этого класса:

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

Пусть дан массив свойств:

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

Попробуем теперь вывести значение свойства, которое хранится в нулевом элементе массива:

<?php echo $user->$props[0]; // так работать не будет ?>

Для того, чтобы такое сложное имя свойства заработало, его нужно взять в фигурные скобки, вот так:

<?php echo $user->{$props[0]}; // выведет 'john' ?>

Дан следующий класс:

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

Создайте объект класса Employee, а затем обратитесь к его свойствам через элементы массива.

byenru