Объединить значение массива с переменной PHP

У меня есть массив [key] => [value], который возвращает строку при вызове функции

моя проблема в том, что когда я объединяю переменную php со значением массива, это дает мне эту ошибку

Parse error: syntax error, unexpected '$name' (T_VARIABLE) in C:/...

Мой код:

function language( $phrase , $name ) {
     static $language= array (
                              'hello' => 'Hello '.$name,
                              'welcome' => 'Welcome '.$name,
                              'goodbye' => 'Goodbye'.$name,
     )
       return $language[$phrase];
}

мой ожидаемый результат при звонке

echo language("hello", "name");

вывод: Hello name

есть ли другой способ добиться этого?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
0
456
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы не можете инициализировать статические переменные с параметрами, они должны быть константами. Если вы исправите синтаксис исходного кода (отсутствует ;), вы получите ошибку.

PHP Fatal error: Constant expression contains invalid operations in

Вы можете добиться этого, установив static для некоторого фиктивного значения (например, null), а затем используя if для установки значения, когда оно еще не установлено ...

function language( $phrase , $name ) {
    static $language= null;

    if ( $language == null )    {
        $language = array (
            'hello' => 'Hello '.$name,
            'welcome' => 'Welcome '.$name,
            'goodbye' => 'Goodbye'.$name,
            );
    }
    return $language[$phrase];
}

Даже static $language; хватит.

u_mulder 01.12.2018 20:05

@u_mulder спасибо, но я немного педантичен и предпочитаю устанавливать любую создаваемую мной переменную.

Nigel Ren 01.12.2018 20:07

Другие вопросы по теме