如果$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
谢谢
答案 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 ) );