我正在重新构建我的php应用程序中的语言系统,以便更容易地创建翻译。php - in_array在文件中包含数组时返回false
我做的一件事情就是将所有东西都转换成一个大数组$ lang;这里是什么样子的例子:
require_once "lang/en/lang.php";
调用$ LANG [“共同的:登录”]
$lang['common:login'] = "Login";
$lang['common:signup'] = "Sign Up";
$lang['index:title'] = "Home Page";
$lang['messages:newmessages'] = "You have %s new messages";
我用下面的代码加载它没有问题wqork中,一旦我做了一个加载这些函数的函数,与之前我做过的其他方法相比,就会出现问题。
function outputLanguage($tag) {
global $lang;
//see if tag exists.
if (!in_array($tag, $lang)) {
return $tag." is an invalid language tag.";
} else {
return $lang[$tag];
}
}
看起来,in_array()不喜欢使用其他来源包含的数组。
我诚实地想要有一些验证,以防有人犯了一个错误,那么是否有人知道一个好的解决方案?
谢谢。
in_array()没有按” t知道或关心$ lang数组是从另一个源包含的;但肯定你应该测试的关键,而不是价值...和in_array()测试值 –
你的权利,不知道我在想什么。 – Eman