Rumah >pembangunan bahagian belakang >tutorial php >Isih tatasusunan mengikut nilai dalam PHP menggunakan fungsi sendiri, mengekalkan nama kunci

Isih tatasusunan mengikut nilai dalam PHP menggunakan fungsi sendiri, mengekalkan nama kunci

PHPz
PHPzasal
2024-05-05 08:36:021044semak imbas

Dalam PHP, cara untuk mengisih tatasusunan mengikut nilai dan mengekalkan nama kunci menggunakan fungsinya sendiri ialah mendapatkan semua nilai tatasusunan dan mengisihnya. Dapatkan kunci nilai yang diisih. Gabungkan semula nilai yang diisih dengan kekunci tatasusunan asal.

在 PHP 中使用自有函数对数组按值进行排序,保留键名

Gunakan fungsi anda sendiri dalam PHP untuk mengisih tatasusunan mengikut nilai, mengekalkan nama kunci

Prekata

Dalam PHP, fungsi sort() boleh mengisih tatasusunan mengikut nilai. Walau bagaimanapun, fungsi ini memusnahkan nama kunci. Untuk mengekalkan nama kunci, kita perlu menggunakan fungsi kita sendiri.

Fungsi sendiri

Fungsi sendiri berikut boleh mengisih tatasusunan mengikut nilai sambil mengekalkan nama kunci:

function sortByValue(array $array)
{
    $sortedValues = array_column($array, null);
    asort($sortedValues);

    $sortedKeys = array_keys($sortedValues);

    return array_combine($sortedKeys, $array);
}

Kes praktikal

Contoh berikut menunjukkan cara mengisih tatasusunan yang mengandungi nama kunci:

$array = [
    'apple' => 10,
    'banana' => 20,
    'orange' => 5
];

$sortedArray = sortByValue($array);

print_r($sortedArray);
:

Array
(
    [orange] => 5
    [apple] => 10
    [banana] => 20
)

Seperti yang anda lihat, tatasusunan diisih mengikut nilai dalam tertib menaik sambil mengekalkan nama kunci.

Atas ialah kandungan terperinci Isih tatasusunan mengikut nilai dalam PHP menggunakan fungsi sendiri, mengekalkan nama kunci. 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

Artikel berkaitan

Lihat lagi