PHP:使用双OR条件时执行

时间:2018-03-05 20:42:47

标签: php do-while

如果$sell大于$buy $k低于0.5

,我会停止一段时间
$high = 0.002420;
        $buy = 0.0024123;

        $k = 1;

        do {

            $sell = $buy + ( ( $buy * $k ) / 100 );

            echo '<p>'.$sell.' con k = '.$k.'</p>';

            $k = $k-0.1;

        } while ( ( $k >= 0.5 ) || ( $sell > $high ) );

在我的示例循环中,需要在FIRST迭代后停止。相反,它是在$sell$high更少时执行的,省略了firt条件(k不能低于0.5)。

$sell is 0,002436423 con k = 1

$sell is 0,0024340107 con k = 0,9

$sell is 0,0024315984 con k = 0,8

$sell is 0,0024291861 con k = 0,7

$sell is 0,0024267738 con k = 0,6

$sell is 0,0024243615 con k = 0,5

$sell is 0,0024219492 con k = 0,4

$sell is 0,0024195369 con k = 0,3

谢谢

2 个答案:

答案 0 :(得分:1)

如果您想在$sell > $high之后停止,那么当为真时,您希望继续

另外: A或B 为真时停止相当于(非A)和(非B)为真时继续。

答案 1 :(得分:0)

一开始你已经写了#34;如果$ sell比$ buy更高,我会停止一段时间OR $ k比L&M低于0.5&#34; ..所以你应该将$ buy与$ sell进行比较,并将$ sell与$ high进行比较

试试这个:

while ( ( $k >= 0.5 ) and ( $sell <= $buy ) );