php - 将数组值与 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");
输出:你好名字
还有其他方法可以实现吗?
解决方案
您不能使用参数初始化静态变量,它们必须是常量。如果您更正了原始代码的语法(缺少;
),您将收到错误消息。
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];
}
推荐阅读
- powerbi - PowerBi 中的 100% 单个堆叠条形图
- javascript - 如何使用大于 1mb 的 socket.io 和 nodejs 实现房间到房间的文件共享系统?
- android - Android Studio - 跨越多个 Java 进程的 Gradle 命令
- html - 如何使 p 元素和按钮与 CSS 水平对齐
- r - 在 R 中创建地图
- c# - 如何将选定的复选框项目从列表存储到 .net 核心中的另一个列表?
- ruby-on-rails - 双自参照模型
- apache-spark - 如何更改数据框中的多个特定日期
- postgresql - 如何将 heroku postgres 备份文件传输到 docker postgres 容器(文件放在哪里?)
- matplotlib - 如何从其他脚本绘制图形实例