@SokolovArtur

Как вызвать свойство класса с названием как значение переменной?

Хочу сделать так:

$name = 'data';

$employee = new Employee();
$employee->$name = 'Значение';


Но чтобы PHP интепретировал это как

$employee->data = 'Значение';
  • Вопрос задан
  • 173 просмотра
Решения вопроса 1
frolover
@frolover
class Employee {
    public $data = 'SomeString';
}

$name = 'data';

$employee = new Employee();
var_dump( $employee->{$name} ); //string(10) "SomeString"
$employee->{$name} = 'NewSomeString';
var_dump( $employee->{$name} ); //string(13) "NewSomeString"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
В чём проблема? То, как вы написали должно работать при условии, что свойство "data" является публичным или есть волшебный метод __set()
Ответ написан
Комментировать
@Firik67
Middle PHP Developer
Можно так попробовать, проверить не могу
$employee->$$name = 'Значение';
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы