2016-09-30 2 views
-2
function randomNumbers ($start,$end,$quantity){ 
     $numbers = range($start, $end); 
     shuffle($numbers); 

     return array_slice($numbers,0,$quantity); 
    }   
    $array=(randomNumbers(1,10,30));//calling a function 
    print_r($array);// printing the output 

문제는 제가 원하는대로 30 개가 아닌 10 개의 숫자를 얻는 것입니다.는 PHP를 사용하여 1에서 10 사이의 임의의 숫자를 생성합니다.

+0

그럼 기본적으로 10 개의 원소를 가진 배열에서 30 개의 원소를 얻으려고합니다. 그래서 아마'array_splice()'와'array_rand()'등을 사용하고 싶지 않을 것입니다. – Rizier123

답변

0

당신이 줄

$numbers = range($start, $end); // Get 1..10 range 

만 10 번호를 받고 있으므로 array_slice는 10 숫자를 얻을 수 있습니다. 이은 (어쩌면 최선의 코드가 아니라 당신에게 도움이 될 수 있습니다)처럼가 someting으로 시도 할 수

function randomNumbers ($start,$end,$quantity){ 
    $numbers = array(); 
    for ($i=0; $i<$quantity/($end-$start); $i++) 
     $numbers = array_merge($numbers, range($start, $end)); 
    shuffle($numbers); 

    return array_slice($numbers,0,$quantity); 
} 
0

당신은 10

for($i = 0 ; $i < 30; $i++){ 
$num[$i] = rand(0,10); 
} 

echo '<pre>'; 
print_r($num); 
echo '</pre>'; 
1의 범위 내에서 30 난수를 생성하려면이 방법을 시도 할 수 있습니다
+0

_ 시도해 볼 수 있습니다 ._ 설명이 아닙니다 .. – dbf

관련 문제