Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Dalam PHP, bagaimana untuk mengisih tatasusunan dengan hanya pasangan nilai kunci tertentu tatasusunan, mengekalkan nama kunci?

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

PHPz
PHPzasal
2024-05-04 09:03:01858semak imbas

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);

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],
];

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'];
});

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!

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