Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memastikan kedudukan relatif elemen selepas tatasusunan PHP dikocok?

Bagaimana untuk memastikan kedudukan relatif elemen selepas tatasusunan PHP dikocok?

PHPz
PHPzasal
2024-05-03 10:15:02668semak imbas

Gunakan fungsi shuffle untuk mengocok susunan tatasusunan PHP sambil mengekalkan kedudukan relatif elemen tidak berubah. Fungsi ini mengocok tatasusunan secara rawak, dan hubungan kedudukan antara elemen tidak akan berubah. Fungsi shuffle() bertindak pada tatasusunan dan mengocok susunannya secara rawak, tetapi kedudukan relatif unsur-unsur kekal konsisten.

Bagaimana untuk memastikan kedudukan relatif elemen selepas tatasusunan PHP dikocok?

PHP mengekalkan kedudukan relatif unsur-unsur selepas tatasusunan dikocokkan kedudukan relatif elemen tidak berubah.

Penyelesaian

Gunakan fungsi

shuffle

. Fungsi ini berfungsi pada tatasusunan, merombak susunan unsurnya secara rawak, tetapi mengekalkan kedudukan relatif antara unsur tidak berubah.

Contoh Kod

$array = [1, 2, 3, 4, 5];

// 使用 shuffle 函数打乱数组顺序
shuffle($array);

// 打印打乱后的数组
print_r($array);
Kes Praktikal

Bayangkan program loteri yang perlu memilih 10 pemenang secara rawak daripada senarai calon. Pada masa yang sama, kami mahu mengekalkan kedudukan relatif calon sebelum dan selepas cabutan tidak berubah.

$candidates = array(
    "Alice",
    "Bob",
    "Carol",
    "Dave",
    "Eve",
);

// 使用 shuffle 打乱候选人顺序
shuffle($candidates);

// 抽取的前 10 个候选人
$winners = array_slice($candidates, 0, 10);

// 打印获奖候选人
print_r($winners);

Dalam kod ini, fungsi shuffle memastikan kedudukan relatif calon kekal konsisten, jadi senarai calon yang menang dipaparkan dalam susunan relatif mereka dalam senarai calon asal.

Atas ialah kandungan terperinci Bagaimana untuk memastikan kedudukan relatif elemen selepas tatasusunan PHP dikocok?. 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