我想知道PHP中的Java equals()等价物吗?
我想在if语句中使用它。
public function categories($lang) {
echo 'LANG IN INDEX CONTROLLER CATEGORIES BEFORE: ' . $lang.'<br>';
if ($lang !== "az" || $lang !== "en" || $lang !== "ru") {
$lang = 'az';
}
echo 'LANG IN INDEX CONTROLLER CATEGORIES AFTER: ' . $lang;
$db = new DBClass();
$categories = $db->select("CALL SELECT_CATEGORY('$lang')");
return $categories;
}
我发送了 $ lang 参数&#39; en&#39;和结果 LANG IN INDEX控制器类别之前:en LANG:INDEX控制器类别:az
我尝试了strcmp()。
这段代码不起作用,是什么意思?如何在if语句中使用 == 或 strcmp()?
答案 0 :(得分:7)
该行
if ($lang !== "az" || $lang !== "en" || $lang !== "ru") {
将始终为true,因为标量变量不能同时具有三个值。您需要使用&&
:
if ($lang !== "az" && $lang !== "en" && $lang !== "ru") {
答案 1 :(得分:4)
在PHP中执行此操作的另一种方法是使用in_array
检查变量是否在一组值中。由于您要检查$lang
不是"az"
,"en"
还是"ru"
,只是否定结果:
$forbidden_langs = array("az", "en", "ru");
if (!in_array($lang, $forbidden_langs)) {
//your code goes here...
}