Rumah > pembangunan bahagian belakang > tutorial php > PHP mengocok tatasusunan, mengekalkan nama kunci

PHP mengocok tatasusunan, mengekalkan nama kunci

王林
Lepaskan: 2024-03-21 13:48:01
ke hadapan
1079 orang telah melayarinya

Editor PHP Xinyi memperkenalkan anda kepada kaedah operasi tatasusunan yang menarik - merombak tatasusunan dan mengekalkan nama kunci. Dalam PHP, susunan rawak elemen tatasusunan boleh dicapai dengan mudah melalui fungsi shuffle, tetapi indeks akan ditetapkan semula. Jika anda ingin mengekalkan nama kunci asal, anda boleh mula-mula menggunakan fungsi array_keys untuk mendapatkan tatasusunan nama kunci, kemudian berebut ia bersama-sama dengan tatasusunan nilai, dan akhirnya menggabungkannya semula menjadi tatasusunan baharu melalui fungsi array_combine. Dengan cara ini, anda boleh mencapai susunan rawak elemen tatasusunan sambil mengekalkan nama kunci!

PHP merombak tatasusunan dan menyimpan nama kunci

Dalam php, menggunakan fungsi shuffle() boleh merombak susunan tatasusunan, tetapi nama kunci tidak akan disimpan. Untuk mengekalkan nama kunci, anda boleh menggunakan kaedah berikut:

Kaedah 1: Gunakan array_rand()

$array = ["a" => 1, "b" => 2, "c" => 3];

$keys = array_rand($array);
$shuffled_array = [];

foreach ($keys as $key) {
$shuffled_array[$key] = $array[$key];
}
Salin selepas log masuk

Kaedah 2: Gunakan mt_rand()

$array = ["a" => 1, "b" => 2, "c" => 3];

$keys = array_keys($array);
shuffle($keys);

$shuffled_array = [];

foreach ($keys as $key) {
$shuffled_array[$key] = $array[$key];
}
Salin selepas log masuk

Kaedah 3: Gunakan perpustakaan pihak ketiga

Perpustakaan pihak ketiga, seperti ArrayLib, menyediakan cara yang lebih mudah untuk mengocok tatasusunan dan mengekalkan nama kunci:

use ArrayLibArrays;

$array = ["a" => 1, "b" => 2, "c" => 3];

$shuffled_array = Arrays::shuffle($array);
Salin selepas log masuk

Perbandingan prestasi

Terdapat perbezaan dalam prestasi ketiga-tiga kaedah ini:

  • array_rand() Berfungsi paling baik pada tatasusunan kecil, tetapi kurang cekap pada tatasusunan besar.
  • mt_rand() Berprestasi baik merentas semua saiz tatasusunan.
  • Perpustakaan pihak ketiga secara amnya berprestasi lebih baik daripada fungsi PHP asli.

Senario penggunaan

Menukar tatasusunan dan mengekalkan nama kunci berguna dalam senario berikut:

  • Apabila anda perlu merombak susunan elemen dalam tatasusunan sementara masih perlu mengakses kekunci setiap elemen.
  • Apabila anda perlu menjana senarai main rawak atau senarai tempah item yang lain.
  • Apabila anda perlu mengambil sampel data secara rawak dalam tatasusunan.

Nota

  • array_rand()mt_rand() 会返回一个键,而不是值。需要使用 $array[$key] dan
  • akan mengembalikan kunci, bukan nilai. Perlu menggunakan $array[$key] untuk mendapatkan nilai.
  • Perpustakaan pihak ketiga mungkin perlu dipasang sebelum ia boleh digunakan.
  • Pastikan anda menyalin tatasusunan sebelum merombaknya untuk mengelakkan mengubah suai tatasusunan asal.
🎜

Atas ialah kandungan terperinci PHP mengocok tatasusunan, mengekalkan nama kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:lsjlt.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan