我们可以找出传递多个OR的IF语句中的哪个语句?

时间:2013-07-22 01:29:00

标签: php if-statement return

如果我们有if语句,例如

`<?php if($data[1][0][1] == "aaa" || $data[2][0][1] == "bbb" || $data[1][0][2] == "ccc" || $data[2][0][2] == "ddd")
{
  $return_value = {the index array value being passed above};
  echo "which portion in the if statement OR was actually passed? and return that value" . $return_value;
}?>`

我们能确切地找出OR if语句中确切传递的实际值吗?

3 个答案:

答案 0 :(得分:1)

在我看来,唯一的方法是删除其中一个OR条件。 要么 你可以试试这个

`<?php if($data[1][0][1] == "aaa")
{
  echo 'first If';
}
if($data[2][0][1] == "bbb"){
  echo 'second if';
}
if($data[1][0][2] == "ccc"){ echo 'third if';}

if($data[2][0][2] == "ddd"){
echo 'fourth if';
}
?>`

答案 1 :(得分:0)

在你的if语句中,我们无法找出哪个部分是真的。

以下是有关Short-circuit evaluation

的详细信息

答案 2 :(得分:0)

您可以使用assign将返回值

的事实

所以

if (($part = 1 && $data[1][0][1] = "aaa") ||

等。然后检查if语句中的部分。它将被设置为触发真实陈述的部分

虽然如果把它从if语句中取出并且有更好的结构可能会更好