PHP mengocok tatasusunan, mengekalkan nama kunci
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]; }
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]; }
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);
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 - Perpustakaan pihak ketiga mungkin perlu dipasang sebelum ia boleh digunakan.
- Pastikan anda menyalin tatasusunan sebelum merombaknya untuk mengelakkan mengubah suai tatasusunan asal.
$array[$key]
untuk mendapatkan nilai. Atas ialah kandungan terperinci PHP mengocok tatasusunan, mengekalkan nama kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



JWT adalah standard terbuka berdasarkan JSON, yang digunakan untuk menghantar maklumat secara selamat antara pihak, terutamanya untuk pengesahan identiti dan pertukaran maklumat. 1. JWT terdiri daripada tiga bahagian: header, muatan dan tandatangan. 2. Prinsip kerja JWT termasuk tiga langkah: menjana JWT, mengesahkan JWT dan muatan parsing. 3. Apabila menggunakan JWT untuk pengesahan di PHP, JWT boleh dijana dan disahkan, dan peranan pengguna dan maklumat kebenaran boleh dimasukkan dalam penggunaan lanjutan. 4. Kesilapan umum termasuk kegagalan pengesahan tandatangan, tamat tempoh, dan muatan besar. Kemahiran penyahpepijatan termasuk menggunakan alat debugging dan pembalakan. 5. Pengoptimuman prestasi dan amalan terbaik termasuk menggunakan algoritma tandatangan yang sesuai, menetapkan tempoh kesahihan dengan munasabah,

Mengikat statik (statik: :) Melaksanakan pengikatan statik lewat (LSB) dalam PHP, yang membolehkan kelas panggilan dirujuk dalam konteks statik dan bukannya menentukan kelas. 1) Proses parsing dilakukan pada masa runtime, 2) Cari kelas panggilan dalam hubungan warisan, 3) ia boleh membawa overhead prestasi.

Apakah kaedah sihir PHP? Kaedah sihir PHP termasuk: 1. \ _ \ _ Membina, digunakan untuk memulakan objek; 2. \ _ \ _ Destruct, digunakan untuk membersihkan sumber; 3. \ _ \ _ Call, mengendalikan panggilan kaedah yang tidak wujud; 4. \ _ \ _ Mendapatkan, melaksanakan akses atribut dinamik; 5. \ _ \ _ Set, melaksanakan tetapan atribut dinamik. Kaedah ini secara automatik dipanggil dalam situasi tertentu, meningkatkan fleksibiliti dan kecekapan kod.

Dalam Php8, ungkapan perlawanan adalah struktur kawalan baru yang mengembalikan hasil yang berbeza berdasarkan nilai ungkapan. 1) Ia sama dengan pernyataan suis, tetapi mengembalikan nilai dan bukannya blok pernyataan pelaksanaan. 2) Ekspresi perlawanan secara ketat (===), yang meningkatkan keselamatan. 3) Ia mengelakkan kemungkinan ketinggalan dalam penyataan suis dan meningkatkan kesederhanaan dan kebolehbacaan kod.

Pengiraan C35 pada dasarnya adalah matematik gabungan, yang mewakili bilangan kombinasi yang dipilih dari 3 dari 5 elemen. Formula pengiraan ialah C53 = 5! / (3! * 2!), Yang boleh dikira secara langsung oleh gelung untuk meningkatkan kecekapan dan mengelakkan limpahan. Di samping itu, memahami sifat kombinasi dan menguasai kaedah pengiraan yang cekap adalah penting untuk menyelesaikan banyak masalah dalam bidang statistik kebarangkalian, kriptografi, reka bentuk algoritma, dll.

Algoritma Adaptif Kedudukan Y-Axis untuk Fungsi Anotasi Web Artikel ini akan meneroka cara melaksanakan fungsi anotasi yang serupa dengan dokumen perkataan, terutama bagaimana menangani selang antara anotasi ...

Terdapat banyak cara untuk memusatkan gambar bootstrap, dan anda tidak perlu menggunakan Flexbox. Jika anda hanya perlu berpusat secara mendatar, kelas pusat teks sudah cukup; Jika anda perlu memusatkan elemen secara menegak atau berganda, Flexbox atau Grid lebih sesuai. Flexbox kurang serasi dan boleh meningkatkan kerumitan, manakala grid lebih berkuasa dan mempunyai kos pengajian yang lebih tinggi. Apabila memilih kaedah, anda harus menimbang kebaikan dan keburukan dan memilih kaedah yang paling sesuai mengikut keperluan dan keutamaan anda.

Dalam PHP, anda boleh mencegah serangan CSRF dengan menggunakan token yang tidak dapat diramalkan. Kaedah khusus termasuk: 1. Menjana dan membenamkan token CSRF dalam bentuk; 2. Sahkan kesahihan token semasa memproses permintaan.
