簡體   English   中英

嘗試比較數組PHP中的值

[英]Attempting to compare values in an array PHP

我正在嘗試編寫一個程序來比較兩個數組中的值。 用戶輸入存儲在數組中的6個數字。 然后,我隨機創建6個數字並將它們存儲在另一個數組中。 然后,我對數組進行排序並將其轉換為字符串,然后比較字符串以查看兩個數組中的值是否相同。 如果它們不匹配,則在我的while循環中,我嘗試隨機創建6個數字並將它們存儲在第二個數組中,直到兩個數組匹配為止。 但是,當我嘗試回顯它花費的時間時,它只是說“ 0”次。

這是我正在使用的代碼。

<?php 

    $number1 = $_POST['number1'];
    $number2 = $_POST['number2'];
    $number3 = $_POST['number3'];
    $number4 = $_POST['number4'];
    $number5 = $_POST['number5'];
    $number6 = $_POST['number6'];


$userArray = array($number1, $number2, $number3, $number4, $number5, $number6);


// mix and max numbers that can be used with th lottery
$min = 0;
$max = 9;
// random number between 0 and 1 simulating lottery

    $lotNumber1 = rand ($min, $max);
    $lotNumber2 = rand ($min, $max);
    $lotNumber3 = rand ($min, $max);
    $lotNumber4 = rand ($min, $max);
    $lotNumber5 = rand ($min, $max);
    $lotNumber6 = rand ($min, $max);

$lotArray = array($lotNumber1, $lotNumber2, $lotNumber3, $lotNumber4, $lotNumber5, $lotNumber6);

asort($userArray);
asort($lotArray);

$userString = implode($lotArray, "_"); 
$lotString = implode($lotArray, "_");


$i = 0;

while($lotString != $userString) {
   $i ++;

     $lotNumber1 = rand ($min, $max);
    $lotNumber2 = rand ($min, $max);
    $lotNumber3 = rand ($min, $max);
    $lotNumber4 = rand ($min, $max);
    $lotNumber5 = rand ($min, $max);
    $lotNumber6 = rand ($min, $max);

    $lotArray = array($lotNumber1, $lotNumber2,             $lotNumber3, $lotNumber4, $lotNumber5, $lotNumber6);
    asort($lotArray);

    $lotString = implode($lotArray, "_");

}

echo "YOU WON it took".$i."times";


?>

之所以總是嘗試零次,是因為最初計算兩個要比較的字符串時會出錯!

更改這兩行

$userString = implode($lotArray, "_"); 
$lotString = implode($lotArray, "_");

$userString = implode($userArray, "_"); 
$lotString = implode($lotArray, "_");

這樣的事情發生了,不用擔心:-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM