Как вы вызываете функцию с параметрами в php объекте stdClass? - PullRequest
0 голосов
/ 29 февраля 2020
    $test1 = [
        'greeting' => function($name) {
            return 'Hello ' . $name;
        },
    ];

    $test2 = (object) $test1;

    dump($test1['greeting']('Danny'));
    dump($test2->greeting('Danny'));

Первая попытка

Вторая попытка

Ошибка третьей попытки: (

Извините, если раньше об этом спрашивали, но я не знал, как это сформулировать, или если кто-то может указать мне правильное направление, я был бы очень признателен.

Я пытаюсь поместить переменную внутрь $ test2-> приветствие, но оно не разрешено

1 Ответ

0 голосов
/ 29 февраля 2020

Просто добавьте пару скобок:

$result = ($test2->greeting)('Danny');

или, с помощью dump:

dump(($test2->greeting)('Danny'));

Если вы этого не сделаете, PHP всегда будет интерпретировать его как вызов метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...