페이지를 새로 고칠 때마다 Yelp 목록을 표시하기 위해 무작위 선택을 사용하는 웹사이트를 구축할 때 모든 20개의 목록이 반복 없이 한 번 표시됩니다. rand(0,19)를 사용하는 현재 접근 방식은 간단한 솔루션을 제공하지만 반복 표시를 방지하지는 않습니다.
보다 효율적인 전략은 다음을 포함하는 배열을 섞는 것입니다. 각 목록을 나타내는 숫자입니다. 이는 PHP의 shuffle() 함수를 사용하여 수행할 수 있습니다. 그러나 여러 페이지를 새로 고칠 때 고유한 목록을 표시하려면 이미 사용된 번호를 추적해야 합니다.
다음은 향상된 PHP 코드 버전입니다.
<code class="php">// Generate an array of numbers without repeats $numbers = range(0, 19); shuffle($numbers); // Handle Yelp response data $response = json_decode($data); $business = $response->businesses; // Iterate through the numbers array foreach ($numbers as $i) { // Display the corresponding Yelp listing echo "<img border=0 src='" . $business[$i]->image_url . "'><br/>"; echo $business[$i]->name . "<br/>"; echo "<img border=0 src='" . $business[$i]->rating_img_url_large . "'><br/>"; }</code>
이 접근 방식에서는 페이지가 새로 고쳐질 때 $numbers 배열이 한 번 무작위로 지정됩니다. 프로그램이 배열을 반복하면서 각 목록을 순서대로 표시하여 20개의 목록이 모두 반복 없이 표시되도록 합니다.
randomGen()을 사용하여 대안을 탐색할 수도 있습니다. 함수:
<code class="php">function randomGen($min, $max, $quantity) { $numbers = range($min, $max); shuffle($numbers); return array_slice($numbers, 0, $quantity); } // Generate 20 unique random numbers within the range of 0 to 20 $uniqueNumbers = randomGen(0, 20, 20);</code>
이 함수는 지정된 범위와 수량 내에서 고유한 난수를 생성하는 보다 다양한 접근 방식을 제공합니다.
위 내용은 웹페이지 목록을 위해 PHP에서 반복 없이 난수를 생성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!