首页 > 解决方案 > 将数组值与 PHP 变量连接起来

问题描述

我有一个 [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");

输出:你好名字

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

标签: phparrays

解决方案


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

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

您可以通过将 static 设置为某个虚拟值(即null)然后if在尚未设置时使用 an 来设置该值来实现它...

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

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

推荐阅读