2014-09-21 43 views
0

我有以下代碼給出了一個隨機數學問題,我試圖從rand標籤只得到偶數,並使第一個數字高於第二個數字。php隨機兩個偶數與第一個更高的值

<?php 
//set the sum 
$operarors = array('+','-'); 
$operator = $operarors[rand(0,1)]; 
//random the numbers 
$numberone = rand(4,10); 
$numbertwo = rand(2,4); 
//get the answer 
if ($operator == '-') { 
$answer1 = $numberone - $numbertwo; 
} 
if ($operator == '+') { 
$answer1 = $numberone + $numbertwo; 
} 
if ($operator == 'x') { 
$answer1 = $numberone * $numbertwo; 
} 
if ($operator == '/') { 
$answer1 = $numberone/$numbertwo; 
} 

echo "Question: $numberone $operator $numbertwo<br>"; 
echo "<br>"; 
echo $answer1; 

?> 

我已經看過了random function,似乎無法找到我需要這兩個問題

要解決的第一個數字的值比第二我已經告訴它更高的信息第二

$numberone = rand(4,10); 
$numbertwo = rand(2,4); 

但對於這個代碼的功能4和10,並要求2和4之間的隨機數之間的隨機數我想它,我不需要做到這一點。

這背後的原因是,如果第一個數字是4,第二個數字是5,答案是-1。 這將是我的小女兒來幫助她的數學,並沒有教 - 數字這個早期:)

隨機偶數我已經結束了我的想法,因爲我試過google找到回答這個問題,並沒有找到任何關於

你proberbly可以告訴我不是在PHP方面的專家,所以請給多一點expernation工作,這樣我就可以達到更好的知識提前

感謝

+2

要生成隨機偶數 - 由2 – zerkms 2014-09-21 22:49:02

回答

2

爲了得到一個隨機數甚至做到以下幾點:

$max = 10; 
echo $evenRandomNb = rand(0, round(($max/2), 0, PHP_ROUND_HALF_DOWN)) * 2; 

要以比第二(永遠等於)一個更大的得到2張隨機數做:

$max = 10; 
echo $firstNb = rand(0, $max - 1); 
echo $secondNb = rand($firstNb + 1, $max); 

您可能希望將兩種方法結合起來,獲得兩連號,第二個是比大冷杉噸之一:

$max = 10; 
echo $firstNb = rand(0, round((($max - 1)/2), 0, PHP_ROUND_HALF_DOWN)) * 2; 
echo $secondNb = rand(round((($firstNb + 2)/2), 0, PHP_ROUND_HALF_DOWN), round(($max/2), 0, PHP_ROUND_HALF_DOWN)) * 2; 
+0

我將如何使用這兩個例子?作爲最後一個例子不是偶數。但非常感謝您的回答 – thenashone 2014-09-21 23:19:07

+0

完美!非常感謝我不得不先用'$ secondNb'來處理更大的數字 – thenashone 2014-09-21 23:34:40

0

只要做rand(),然後乘以b Y 2(保證偶數),把它們放在一個數組中,arsort()他們(把它們按降序排列)

$numbers = arsort(array(
    rand(0,5)*2, 
    rand(0,5)*2 
));  
if($numbers[0] == $numbers[1]) { 
    $numbers[1]+=2; // if you need them to be not equal 
} 

echo 'This is number one: ' . $numbers[0] . '.<br>'; 
echo 'This is number two: ' . $numbers[1] . '.'; 
+0

平等'[1,N/2]'範圍產生一個隨機數然後乘以需要被考慮在內,但。 – zerkms 2014-09-21 22:50:35

+0

'$ numbers [1] + = 2' ---這可能會超出預期範圍:-) – zerkms 2014-09-21 22:52:47

+1

@zerkms - 我認爲我的答案獲得了一個簡單的方法來獲得2個偶數的降序順序。任何額外的東西都應該很容易管理。 – Dave 2014-09-21 22:53:33

相關問題