如果$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
谢谢
如果你想在$sell > $high
时停止,那么你想继续当那不是真的。
另外:当A或B为真时停止等同于当(不是A)和(非B)为真时继续。
一开始你写的“我会停止一段时间,如果$ sell大于$ buy OR $ k比LESSER大0.5”..所以你应该将$ buy与$ sell进行比较,并且你将$ sell与$ high进行比较
试试这个:
while ( ( $k >= 0.5 ) and ( $sell <= $buy ) );