我有一个[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
还有其他方法可以实现吗?
答案 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];
}