讓我最終和實際的問題開始:PHP - DO(和迴音)操作,只有當剩餘的爲0 - 走進無限循環
我試圖寫一個PHP腳本,從兩個隨機數字$x
和$y
只會我們輸出,當模== 0(它應該始終呼應有效的功能)解決
這是什麼意思:
腳本回聲:
4/2 =>好!
腳本回聲:
4/3 =>壞!
NOTHING => BAD!
我會盡力來指導你通過我的推理,但要注意:
我是新手,所以:我學到東西,提高賭注,並儘量方便地應用它。
首先,我產生的隨機數,容易:
$x = mt_rand(1,10);
$y = mt_rand(1,10);
現在我說,我有分工,餘數爲0後兩種可能性或不爲0,那麼一個if()語句看起來像好主意,所以我做的:
如果($ X%$ Y == 0){
回聲$ X。 「/」。 $ Y;
} else {
echo「餘數不爲0」;
}
This works as expected當然除了,我總是想生成該餘數不爲0的分歧。
所以,我的方法是如下,爲什麼不利用用戶生成的函數(從未使用過,但可以派上用場),所以,如果我知道這works just fine:
<?php
function hello(){
echo "Hello!";
}
hello();
?>
爲什麼不提高賭注,我之前說過,並使用它,所以我混合起來:
<?php
$x = mt_rand(1,10);
$y = mt_rand(1,10);
function foo(){
if($x % $y == 0){
echo $x . "/" . $y;
}else{
foo();
}
}
?>
It doesn't work,我得到了一個空白屏幕。
什麼是我此腳本期待:
- 與它
- 一個if()語句創建一個函數如果餘數爲0,大,回聲。
- 其他的,從頭開始,一次又一次,直到你得到一個沒有餘數的分裂。
這沒有用。
所以我基本上問,我做錯了什麼?雖然在這背後有什麼問題?
這可以工作與微妙的變化?
有經驗的程序員,我知道你都做一個腳本,做這個(但沒有跟我做的),使用MS塗料作爲一個IDE,但是:
我在毫無興趣代碼本身,因爲這只是爲了學習的目的。
這不是第一次發生在我身上,我經常碰到無限循環的牆,所以變化越小(解釋越大)越好,並且會非常感激。
在此先感謝!
現在完成我剛剛意識到這個問題甚至可能不是一個無限循環,即使它不是問題仍然有效,你有什麼感想覺得我的做法呢? (當然我也將修改,然後從問題中刪除無限循環)
@AgentConundrum現在誰跟蹤誰? :) – Trufa 2010-12-14 06:36:48
@Akinator:該死的!我甚至沒有注意到它是你。我想現在沒有機會得到這個接受...:P – AgentConundrum 2010-12-14 06:44:42
不,不是一個機會:) – Trufa 2010-12-14 06:53:21