将数组值与PHP变量连接

时间:2018-12-01 18:50:46

标签: php arrays

我有一个[key] => [value]数组,该数组在调用函数时返回一个字符串

我的问题是,当我用数组值连接一个php变量时,它给了我这个错误

  

解析错误:语法错误,C:/ ...中意外的'$ name'(T_VARIABLE)

我的代码:

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

还有其他方法可以实现吗?

1 个答案:

答案 0 :(得分:2)

您不能使用参数初始化静态变量,它们必须是常量。如果您更正了原始代码的语法(缺少;),则会收到错误消息。

  

PHP致命错误:常量表达式中包含无效操作

尽管可以通过将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];
}