Rumah pembangunan bahagian belakang tutorial php PHP Bagaimana untuk mengisih tatasusunan mengikut nilai sambil mengekalkan nama kunci asal?

PHP Bagaimana untuk mengisih tatasusunan mengikut nilai sambil mengekalkan nama kunci asal?

May 04, 2024 am 08:06 AM
Susun susunan Kata kunci: php

PHP menyediakan dua cara untuk mengisih tatasusunan bersekutu mengikut nilai: Gunakan fungsi asort(): Isih nilai dari kecil ke besar sambil mengekalkan nama kunci asal. Menggunakan fungsi usort() dan penutupan: Isih nilai mengikut fungsi perbandingan tersuai sambil mengekalkan nama kunci asal.

PHP 如何按值对数组进行排序,同时保留原始键名?

Gunakan fungsi asort()asort() 函数

PHP 的 asort() 函数可按值对关联数组进行排序,同时保留原始键名。它接受一个关联数组作为参数,并按照从小到大的顺序对值进行排序。

<?php
$arr = [
    "apple" => 5,
    "banana" => 3,
    "orange" => 2,
    "grape" => 4,
];

asort($arr);

print_r($arr);
?>
Salin selepas log masuk

输出:

Array
(
    [orange] => 2
    [banana] => 3
    [grape] => 4
    [apple] => 5
)
Salin selepas log masuk
Salin selepas log masuk

如你所见,数组的值已按从小到大的顺序排序,但键名保留不变。

使用 usort() 函数和闭包

另一种方法是使用 usort() 函数和闭包。usort() 接受一个回调函数作为参数,该函数用于比较数组中的元素。闭包是一种匿名函数,可用作回调。

<?php
$arr = [
    "apple" => 5,
    "banana" => 3,
    "orange" => 2,
    "grape" => 4,
];

usort($arr, function ($a, $b) {
    return $a[1] - $b[1];
});

print_r($arr);
?>
Salin selepas log masuk

输出:

Array
(
    [orange] => 2
    [banana] => 3
    [grape] => 4
    [apple] => 5
)
Salin selepas log masuk
Salin selepas log masuk

在这种情况下,闭包会比较每个元素的值 ($a[1]$b[1]),并返回 -101

Fungsi asort() PHP mengisih tatasusunan bersekutu mengikut nilai sambil mengekalkan nama kunci asal. Ia menerima tatasusunan bersekutu sebagai hujah dan mengisih nilai daripada terkecil kepada terbesar. 🎜rrreee🎜Output: 🎜rrreee🎜Seperti yang anda lihat, nilai tatasusunan telah diisih dari kecil ke besar, tetapi nama kunci kekal tidak berubah. 🎜🎜🎜Gunakan fungsi dan penutupan usort()🎜🎜Cara lain ialah menggunakan fungsi dan penutupan usort(). usort() menerima fungsi panggil balik sebagai parameter, yang digunakan untuk membandingkan elemen dalam tatasusunan. Penutupan ialah fungsi tanpa nama yang boleh digunakan sebagai panggilan balik. 🎜rrreee🎜Output: 🎜rrreee🎜Dalam kes ini, penutupan membandingkan nilai setiap elemen ($a[1] dan $b[1]) , dan mengembalikan -1, 0 atau 1, bergantung pada nilai yang lebih besar. 🎜

Atas ialah kandungan terperinci PHP Bagaimana untuk mengisih tatasusunan mengikut nilai sambil mengekalkan nama kunci asal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China 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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Akan R.E.P.O. Ada Crossplay?
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Kaedah pengisihan tatasusunan pantas yang mengekalkan nama kunci dalam PHP Kaedah pengisihan tatasusunan pantas yang mengekalkan nama kunci dalam PHP May 02, 2024 pm 03:06 PM

Kaedah pengisihan tatasusunan pantas dalam PHP yang mengekalkan nama kunci: Gunakan fungsi ksort() untuk mengisih kekunci. Gunakan fungsi uasort() untuk mengisih menggunakan fungsi perbandingan yang ditentukan pengguna. Kes praktikal: Untuk mengisih tatasusunan ID pengguna dan skor mengikut skor sambil mengekalkan ID pengguna, anda boleh menggunakan fungsi uasort() dan fungsi perbandingan tersuai.

Pengisihan tatasusunan JS: analisis mendalam tentang prinsip kerja dan mekanisme kaedah sort(). Pengisihan tatasusunan JS: analisis mendalam tentang prinsip kerja dan mekanisme kaedah sort(). Dec 28, 2023 am 11:47 AM

Untuk memahami secara mendalam pengisihan tatasusunan JS: prinsip dan mekanisme kaedah sort(), contoh kod khusus diperlukan Pengenalan: Pengisihan tatasusunan ialah salah satu operasi yang sangat biasa dalam kerja pembangunan bahagian hadapan harian kami. Kaedah pengisihan tatasusunan sort() dalam JavaScript ialah salah satu kaedah pengisihan tatasusunan yang paling biasa digunakan. Walau bagaimanapun, adakah anda benar-benar memahami prinsip dan mekanisme kaedah sort()? Artikel ini akan memberi anda pemahaman yang mendalam tentang prinsip dan mekanisme pengisihan tatasusunan JS, dan memberikan contoh kod khusus. 1. Penggunaan asas kaedah sort().

Menggunakan refleksi Golang untuk melaksanakan traversal dan pengubahsuaian medan struktur Menggunakan refleksi Golang untuk melaksanakan traversal dan pengubahsuaian medan struktur Apr 03, 2024 pm 12:06 PM

Pantulan pergi boleh digunakan untuk melintasi dan mengubah suai medan struktur. Lintasan medan: Gunakan reflect.TypeOf dan reflect.Field untuk melintasi medan struktur. Pengubahsuaian medan: Akses dan ubah suai nilai medan struktur melalui Elem dan Set. Kes praktikal: Gunakan pantulan untuk menukar struktur kepada peta, dan kemudian tukar peta kepada JSON.

Bagaimana untuk mengekalkan nama kunci selepas menyusun tatasusunan PHP mengikut nilai? Bagaimana untuk mengekalkan nama kunci selepas menyusun tatasusunan PHP mengikut nilai? May 02, 2024 pm 04:09 PM

Cara mengisih tatasusunan mengikut nilai dalam PHP sambil mengekalkan nama kunci ialah menggunakan fungsi usort() untuk mengisih tatasusunan mengikut nilai. Lulus fungsi tanpa nama kepada fungsi usort() sebagai fungsi perbandingan, yang mengembalikan perbezaan nilai elemen. usort() akan mengisih tatasusunan mengikut fungsi tanpa nama sambil mengekalkan nama kunci tidak berubah.

Panduan untuk menulis algoritma pengisihan tersuai untuk tatasusunan PHP Panduan untuk menulis algoritma pengisihan tersuai untuk tatasusunan PHP Apr 27, 2024 pm 06:12 PM

Bagaimana untuk menulis algoritma pengisihan tatasusunan PHP tersuai? Isih gelembung: Mengisih tatasusunan dengan membandingkan dan menukar elemen bersebelahan. Isih pilihan: Pilih elemen terkecil atau terbesar setiap kali dan tukarkannya dengan kedudukan semasa. Isih sisipan: Masukkan unsur satu demi satu ke dalam bahagian yang diisih.

Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL Sep 20, 2023 pm 03:14 PM

Cara menggunakan PHP untuk membangunkan bar navigasi ringkas dan fungsi koleksi laman web Bar navigasi dan fungsi koleksi laman web adalah salah satu fungsi biasa dan praktikal dalam pembangunan web. Artikel ini akan memperkenalkan cara menggunakan bahasa PHP untuk membangunkan bar navigasi ringkas dan fungsi pengumpulan URL, dan menyediakan contoh kod khusus. Cipta antara muka bar navigasi Mula-mula, kita perlu mencipta antara muka bar navigasi. Bar navigasi biasanya mengandungi pautan untuk navigasi pantas ke halaman lain. Kita boleh menggunakan HTML dan CSS untuk mereka bentuk dan mengatur pautan ini. Berikut ialah antara muka bar navigasi yang mudah

Isih tatasusunan mengikut peraturan pengisihan tersuai dalam PHP, mengekalkan nama kunci asal Isih tatasusunan mengikut peraturan pengisihan tersuai dalam PHP, mengekalkan nama kunci asal May 04, 2024 am 09:27 AM

Dalam PHP, gunakan fungsi uasort() untuk mengisih tatasusunan mengikut peraturan pengisihan tersuai sambil mengekalkan nama kunci asal. Fungsi perbandingan tersuai ialah fungsi yang mengambil dua elemen sebagai input dan mengembalikan integer: nombor negatif bermakna yang pertama adalah kurang daripada yang kedua, sifar bermakna ia adalah sama dan nombor positif bermakna yang pertama lebih besar daripada yang kedua.

Tutorial PHP dan GMP: Bagaimana untuk melaksanakan pendaraban nombor besar Tutorial PHP dan GMP: Bagaimana untuk melaksanakan pendaraban nombor besar Jul 29, 2023 pm 03:29 PM

Tutorial PHP dan GMP: Cara Melaksanakan Pendaraban Nombor Besar Pengenalan: Apabila kita perlu berurusan dengan integer besar dalam pengaturcaraan, jenis integer biasa tidak dapat memenuhi keperluan. Dalam PHP, sambungan GMP (GNUMultiplePrecision) menyediakan keupayaan untuk mengendalikan integer ketepatan sewenang-wenangnya. Tutorial ini akan memberi tumpuan kepada cara menggunakan sambungan GMP PHP untuk melaksanakan pendaraban nombor besar. Pasang dan dayakan sambungan GMP Sebelum kita bermula, kita perlu memastikan bahawa PHP telah memasang dan mendayakan sambungan GMP. OK

See all articles