Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan fungsi isihan untuk menyusun tatasusunan dalam PHP

Cara menggunakan fungsi isihan untuk menyusun tatasusunan dalam PHP

WBOY
WBOYasal
2023-06-26 12:47:211607semak imbas

PHP menyediakan fungsi isihan untuk membantu kami menyusun tatasusunan. Fungsi ini menyokong menyusun tatasusunan biasa, tatasusunan bersekutu dan tatasusunan berbilang dimensi. Dalam artikel ini, kita akan meneroka cara mengisih tatasusunan menggunakan fungsi isihan.

Penggunaan asas fungsi isihan

Apabila fungsi isihan menyusun tatasusunan, ia akan menukar susunan tatasusunan asal secara automatik. Sintaks fungsi isihan adalah seperti berikut:

sort(array &$array, int $sort_flags = SORT_REGULAR): bool

Antaranya, $array ialah tatasusunan yang perlu diisih $sort_flags ialah parameter pilihan, digunakan untuk menentukan peraturan untuk menyusun, termasuk SORT_NUMERIC (diisih mengikut nilai berangka) , SORT_STRING (diisih dalam susunan abjad) dan SORT_FLAG_CASE (tidak sensitif huruf besar-besaran). Secara lalai, fungsi isihan mengisih rentetan mengikut abjad, tanpa mengira jenis data.

Contoh 1: Mengisih tatasusunan biasa

Pertama, kita perlu mencipta tatasusunan biasa untuk menunjukkan operasi pengisihan fungsi isihan pada tatasusunan biasa. Berikut ialah contoh:

$cars = array("Volvo", "BMW", "Toyota");
sort($cars);
print_r($cars);

Kod di atas akan mengisih tatasusunan $cars (yang mengandungi tiga elemen "Volvo", "BMW", "Toyota") dan mengeluarkan hasil yang diisih (disusun mengikut susunan abjad).

Hasil output ialah:

Array
(
    [0] => BMW
    [1] => Toyota
    [2] => Volvo
)

Contoh 2: Mengisih tatasusunan bersekutu

Fungsi isihan juga boleh digunakan untuk mengisih tatasusunan bersekutu. Berikut ialah contoh:

$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
asort($age);
print_r($age);

Kod di atas akan mengisih tatasusunan $age (iaitu, ia mengandungi tiga pasangan nilai kunci, setiap pasangan nilai kunci adalah dalam bentuk kunci => nilai), dan mengeluarkan isih keputusan (mengikut susunan saiz nilai). Ambil perhatian bahawa apabila kita menggunakan fungsi sort untuk mengisih tatasusunan, kita mendapat tatasusunan bersekutu, iaitu pasangan nilai kunci tidak diisih, tetapi disusun mengikut saiz nilai.

Hasil keluaran ialah:

Array
(
    [Peter] => 35
    [Ben] => 37
    [Joe] => 43
)

Contoh 3: Mengisih tatasusunan berbilang dimensi

Fungsi isihan juga boleh digunakan untuk mengisih tatasusunan berbilang dimensi. Berikut ialah contoh:

$age = array(
    array("name"=>"Peter", "age"=>35),
    array("name"=>"Ben", "age"=>37),
    array("name"=>"Joe", "age"=>43)
);
 
function compare_age($a, $b)
{
    return $a['age'] - $b['age'];
}
 
usort($age, 'compare_age');
print_r($age);

Kod di atas akan mengisih tatasusunan $age (iaitu, ia mengandungi tiga sub-tatasusunan, setiap sub-tatasusunan mengandungi dua pasangan nilai kunci) dan mengeluarkan hasil yang diisih (disusun mengikut umur daripada kecil ke besar). Dalam kod di atas, kami memperibadikan fungsi compare_age untuk membandingkan umur dua subarray dan mengembalikan nilai yang menunjukkan susunan relatif dua subarray. Akhir sekali, kami menggunakan fungsi usort untuk mengisih tatasusunan $age Peraturan pengisihan adalah untuk memanggil fungsi compare_age tersuai kami.

Hasil keluaran ialah:

Array
(
    [0] => Array
        (
            [name] => Peter
            [age] => 35
        )
 
    [1] => Array
        (
            [name] => Ben
            [age] => 37
        )
 
    [2] => Array
        (
            [name] => Joe
            [age] => 43
        )
)

Ringkasnya, adalah sangat mudah untuk menggunakan fungsi isihan untuk mengisih tatasusunan hanya lulus dalam tatasusunan yang perlu diisih, dan kemudian mengisih mengikut peraturan yang sepadan. Sama ada tatasusunan biasa, tatasusunan bersekutu atau tatasusunan berbilang dimensi, fungsi isihan boleh melakukan kerja.

Atas ialah kandungan terperinci Cara menggunakan fungsi isihan untuk menyusun tatasusunan dalam PHP. 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