Rumah >pembangunan bahagian belakang >tutorial php >Cara Menjana Nombor Rawak Tanpa Pengulangan dalam PHP untuk penyenaraian halaman web

Cara Menjana Nombor Rawak Tanpa Pengulangan dalam PHP untuk penyenaraian halaman web

Linda Hamilton
Linda Hamiltonasal
2024-10-21 11:55:02316semak imbas

How to Generate Random Numbers Without Repetition in PHP for webpage listing

Menjana Nombor Rawak Tanpa Ulangan

Semasa anda membina tapak web yang menggunakan pemilihan rawak untuk memaparkan penyenaraian Yelp dengan setiap penyegaran halaman, anda menghadapi cabaran untuk memastikan semua 20 penyenaraian dipaparkan sekali tanpa ulangan. Walaupun pendekatan semasa menggunakan rand(0,19) menawarkan penyelesaian mudah, ia tidak menghalang paparan berulang.

Kaedah Rawak Lebih Pintar

Strategi yang lebih cekap ialah mengocok tatasusunan yang mengandungi nombor yang mewakili setiap penyenaraian. Ini boleh dicapai dengan fungsi shuffle() PHP. Tetapi untuk mempamerkan penyenaraian unik merentas berbilang penyegaran halaman, anda perlu menjejaki nombor yang telah digunakan.

Pelaksanaan dan Contoh

Berikut ialah versi kod PHP anda yang dipertingkatkan:

<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>

Dalam pendekatan ini, apabila halaman dimuat semula, tatasusunan $numbers adalah rawak sekali. Sambil atur cara berulang melalui tatasusunan, ia memaparkan setiap penyenaraian mengikut tertib, memastikan semua 20 penyenaraian ditunjukkan tanpa ulangan.

Pertimbangan Tambahan

Anda juga boleh meneroka alternatif menggunakan randomGen() fungsi:

<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>

Fungsi ini menyediakan pendekatan yang lebih serba boleh untuk menjana nombor rawak unik dalam julat dan kuantiti yang ditentukan.

Atas ialah kandungan terperinci Cara Menjana Nombor Rawak Tanpa Pengulangan dalam PHP untuk penyenaraian halaman web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn