Как отследить не только имя свойства, но и имя ключа — __get()? abc['k'];
отображает "abc". Как получить 'dd'? Т.е. как отследить не только имя свойства, но и имя ключа?

21 Авг 2019 в 07:01
194 +1
0
Ответы
1

Для отслеживания и имени свойства, и имени ключа вы можете передать ключ как аргумент в метод __get(). Например:

class Example
{
public function __get($name)
{
return $name;
}
}
$a = new Example;
$key = 'k';
$property = 'abc';
$result = $a->$property[$key];
var_dump($result); // выводит 'dd'

В этом примере мы передаем имя ключа 'k' и имя свойства 'abc' как переменные, которые потом используются для доступа к соответствующему свойству и ключу.

20 Апр 2024 в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир