PHP:使用双OR条件时执行

问题描述 投票:-3回答:2

如果$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

谢谢

php do-while
2个回答
1
投票

如果你想在$sell > $high时停止,那么你想继续当那不是真的。

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


0
投票

一开始你写的“我会停止一段时间,如果$ sell大于$ buy OR $ k比LESSER大0.5”..所以你应该将$ buy与$ sell进行比较,并且你将$ sell与$ high进行比较

试试这个:

while ( ( $k >= 0.5 ) and ( $sell <= $buy ) );
© www.soinside.com 2019 - 2024. All rights reserved.