두 배열의 값을 비교하는 프로그램을 작성하려고합니다. 사용자는 배열에 저장된 6 개의 숫자를 입력합니다. 그런 다음 임의로 6 개의 숫자를 만들어 다른 배열에 저장합니다. 그런 다음 배열을 정렬하고이를 문자열로 변환 한 다음 문자열을 비교하여 두 배열에서 값이 같은지 확인합니다. 일치하지 않는 경우, while 루프에서 배열이 일치 할 때까지 임의로 6 개의 숫자를 만들어 두 번째 배열에 저장하려고 시도합니다. 그러나 그 순간에 나는 그것이 걸린 시간의 양을 반향하려고 할 때 단지 '0'번을 말한다.배열의 값을 비교하려고합니다 PHP
여기에 제가 사용하는 코드가 있습니다.
<?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";
?>
는'array_diff()가'쉽게 접근하지 않을까요 :-)
변경이 두 줄
이러한 일들
로는, 걱정하지 마세요 일어나지? – arkascha