php - 如果密钥不存在,则返回密钥本身 php
问题描述
这是我的代码,如果语句不存在,我希望它返回最后一行代码中的“某物”之类的键值,但它不起作用
function getTranslation($translations, $lang, $statement)
{
$lang = $translations[$lang];
$statement = $lang[$statement];
return $statment;
}
$translations = [
'fa' => ['Hello!' => 'hi!', 'Hi!' => 'hi!'],
'fr' => ['Hello!' => 'Bonjour!']
];
echo getTranslation($translations, 'fa', 'Hi!');
echo PHP_EOL;
echo getTranslation($translations, 'fr', 'Hello!');
echo PHP_EOL;
echo getTranslation($translations, 'fr', 'Something');
解决方案
您可以使用 null coalesce 运算符 ??
(在 PHP 7 中引入)来判断数组元素是否不存在,然后返回一个默认值 - 在这种情况下$statement
......
function getTranslation($translations, $lang, $statement)
{
$lang = $translations[$lang];
return $lang[$statement] ?? $statement;
}
推荐阅读
- chromium - Chromium 如何定义系统文件?
- visual-studio-code - 强制 VS Code 打开与当前文件相同类型的新文件
- mysql - 如何使用 Union All 更正结果
- c# - 如何设置 Mock 已经将对象呈现为默认行为?
- node.js - [TypeError: WebAssembly.instantiate(): Imports 参数必须存在并且必须是一个对象]
- java - 如何在android studio中通过带有密码的POST方法获取JSON数据
- c# - 为 Vuforia+Unity 检测到图像时启动 C# 脚本
- javascript - instance.invokeMethod 内存泄漏
- html - 如何在不将顶部属性添加到同级部分以使其可见的情况下修复顶部指定高度的标题?
- java - 正则表达式在 JSON 中查找值