PHP中的Java equals()等价物

时间:2015-11-07 15:33:49

标签: java php

我想知道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()

2 个答案:

答案 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...
}