我主要使用switch case作为字符串值。有人可以确认它们是否可用于复杂对象的相等性以及对象是否也不同。正如你所看到的,我并不总是检查$ obj1 ==其他一些对象。两个对象都可以改变。有人可以告诉我,如果允许,这将是什么样的正确语法?我不确定我将把它作为switch()输入本身。
if ($obj1 == $obj9)
elseif ($obj5 == $obj9)
elseif ($obj5 == $obj1)
else
新代码,这是正确的吗?
switch (true){
case $obj1 == $obj9:
//do something
break;
case $obj5 == $obj9:
//do something
break;
case $obj5 == $obj1:
//do something
break;
case default:
//do something
break;
}
答案 0 :(得分:1)
根据PHP Manual,switch-case语句等于“if”语句与“==”的比较。因此,它根据these规则进行比较。 根据{{3}}比较对象。
BTW switch-case语句通常用于将一个值与几个其他值的集合进行比较,而if-else构造在您的问题中比较3对不同的变量。