下面的代碼的代碼是爲後續我有點困惑與PHP
<?php
$i = 5;
while (--$i > 0 || ++$i)
{
print $i;
}
?>
正確的答案是4321111.......
。但是,如何從4開始,它應該只是從5 STRAT在我看來,答案應該是55555555......
。
下面的代碼的代碼是爲後續我有點困惑與PHP
<?php
$i = 5;
while (--$i > 0 || ++$i)
{
print $i;
}
?>
正確的答案是4321111.......
。但是,如何從4開始,它應該只是從5 STRAT在我看來,答案應該是55555555......
。
它有4個開始,因爲這種說法是第一(--$i > 0)
這是pre decrement
評估,這意味着它遞減第一,然後所以這裏是checking whether i is greater than 0 or else increment i by 1
評估while循環
所以prints 4321
,當i達到0時,--$i > 0
語句未評價爲i變爲0,這樣或部分被評估,其是1
所以結果就變成4321111111 .................
如果你給預減運算符作爲循環語句的條件會比分配值一開始少原來 。這就是它從4開始而不是5開始的原因。
你想要什麼輸出獲得? –
' - $ i'是預減 – JYoThI