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

Linda Hamilton
Lepaskan: 2024-10-21 11:55:02
asal
228 orang telah melayarinya

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!