Dalam PHP, bagaimana untuk mengisih tatasusunan dengan hanya pasangan nilai kunci tertentu tatasusunan, mengekalkan nama kunci?

PHPz
Lepaskan: 2024-05-04 09:03:01
asal
862 orang telah melayarinya

Apabila mengisih tatasusunan mengikut pasangan nilai kunci dalam PHP, anda boleh menggunakan fungsi uasort() untuk menerima fungsi panggil balik untuk membandingkan nilai kunci dan mengekalkan nama kunci. Sebagai contoh, untuk mengisih rekod pekerja mengikut gaji mereka, anda boleh menggunakan fungsi uksort() untuk mengekstrak nilai gaji daripada setiap elemen sebagai perbandingan, dengan itu mengisih rekod daripada gaji rendah kepada tinggi.

在 PHP 中,如何仅按数组某些键值对对数组进行排序,保留键名?

Isih tatasusunan berdasarkan pasangan nilai kunci dalam PHP

Kadangkala, semasa mengisih tatasusunan dalam PHP, kita perlu mengisihnya berdasarkan pasangan nilai kunci tertentu sambil mengekalkan nama kunci . Artikel ini menerangkan cara mencapai matlamat ini.

<?php

// 创建一个数组
$arr = [
    'a' => 1,
    'b' => 3,
    'c' => 2,
    'd' => 4,
];

// 使用 uasort() 函数,接收一个回调函数
uksort($arr, function($a, $b) use ($arr) {
    return $arr[$a] <=> $arr[$b];
});

// 打印排序后的数组,保留键名
print_r($arr);
Salin selepas log masuk

Kes Praktikal: Menyusun Rekod Pekerja mengikut Gaji Pekerja

Andaikan terdapat tatasusunan yang mengandungi rekod pekerja:

$employees = [
    'John Doe' => ['salary' => 50000],
    'Jane Smith' => ['salary' => 40000],
    'Peter Jones' => ['salary' => 60000],
];
Salin selepas log masuk

Untuk mengisih rekod pekerja mengikut gaji, kami menggunakan fungsi tanpa nama tambahan untuk mengalih keluar setiap item daripada tatasusunan Ekstrak gaji daripada elemen:

// 按薪酬排序
uksort($employees, function($a, $b) use ($employees) {
    return $employees[$a]['salary'] <=> $employees[$b]['salary'];
});
Salin selepas log masuk

Kini, susunan $employees akan disusun mengikut gaji pekerja dari rendah ke tinggi, sambil mengekalkan kunci nama pekerja.

Atas ialah kandungan terperinci Dalam PHP, bagaimana untuk mengisih tatasusunan dengan hanya pasangan nilai kunci tertentu tatasusunan, mengekalkan nama kunci?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
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