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

Имя свойства из ассоциативного массива в ООП в 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 = ['prop1' => 'name', 'prop2' => 'surn']; ?>

Обратимся к свойству объекта, имя которого хранится в элементе нашего массива:

<?php echo $user->{$props['prop1']}; // выведет '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 = [ 'prop1' => 'name', 'prop2' => 'salary', 'prop3' => 'position' ]; ?>

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

byenru