PHP在多个条件下执行

时间:2017-01-20 21:06:38

标签: while-loop multiple-conditions

我希望somone能够在这里帮助我。我看了一眼,找到了一个有同样问题的人: Do-While Loop with Multiple Conditions

但是我已经检查过,看不出我出错的地方

这是我的代码:

$x=0;
$y=0;
do {
$x = rand(0,5);
$y++;
} while ($x!=5 || $y<=5);

所以我期待以下内容:当X不是= = 5时,停止的代码或者y大于5.但是我得到的结果是x = 5和y =&gt; 5

为了将理论付诸实践,我将我的代码改为:

$x=0;
$y=0;
echo'<br />--x-y';
do {
    $x = rand(0,5);
    $y++;
    echo'<br />--'.$x.'-'.$y;
    if($y>5)
        echo"-I should finish here";
} while ($x!==5 || $y<=5);
echo "<br />x=".$x;
echo "<br />y=".$y;

在一个例子中我最终得到了:

--x-y
--5-1
--3-2
--4-3
--4-4
--2-5
--4-6-I should finish here
--1-7-I should finish here
--3-8-I should finish here
--3-9-I should finish here
--3-10-I should finish here
--3-11-I should finish here
--5-12-I should finish here
x=5
y=12

关于我哪里出错的任何建议?

1 个答案:

答案 0 :(得分:0)

您希望在(X = 5 or Y > 5)时停止。其中的条件是继续,因此您必须将条件反转为:(X != 5 AND Y <= 5)

De Morgan Laws