Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Terokai kaedah pengisihan tatasusunan dalam PHP

Terokai kaedah pengisihan tatasusunan dalam PHP

PHPz
PHPzasal
2023-04-25 18:28:16450semak imbas

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas dalam pembangunan web, dan fungsi tatasusunannya yang berkuasa memberikan kemudahan yang hebat kepada pembangun. Dalam pembangunan sebenar, pengisihan tatasusunan ialah fungsi yang kerap digunakan. Artikel ini akan meneroka kaedah pengisihan tatasusunan dalam PHP.

1. Fungsi Sort()

Fungsi sort() ialah fungsi isihan yang paling biasa digunakan dalam PHP, yang boleh mengisih tatasusunan dalam tertib menaik. Berikut ialah sintaks untuk mengisih:

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

Antaranya, parameter $array ialah tatasusunan yang hendak diisih dan parameter $sort_flags ialah bendera isihan pilihan. Secara lalai, pengisihan akan dilakukan mengikut kaedah perbandingan biasa Jika anda perlu mengisih mengikut kaedah lain, anda boleh menentukannya dalam parameter $sort_flags.

Kod sampel:

<?php
    $arr = array(5, 1, 3, 2, 4);
    sort($arr);
    print_r($arr);
?>

Hasil output:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Seperti yang dapat dilihat daripada hasil output, fungsi sort() telah menyusun tatasusunan dalam menaik pesanan.

2. Fungsi rsort()

Fungsi rsort() adalah serupa dengan fungsi sort() dan boleh mengisih tatasusunan dalam tertib menurun.

Berikut ialah sintaks untuk mengisih:

rsort(array $array, int $sort_flags = SORT_REGULAR): bool

Antaranya, parameter $array ialah tatasusunan yang perlu diisih dan parameter $sort_flags ialah bendera isihan pilihan. Secara lalai, pengisihan akan dilakukan mengikut kaedah perbandingan biasa Jika anda perlu mengisih mengikut kaedah lain, anda boleh menentukannya dalam parameter $sort_flags.

Kod sampel:

<?php
    $arr = array(5, 1, 3, 2, 4);
    rsort($arr);
    print_r($arr);
?>

Hasil output:

Array
(
    [0] => 5
    [1] => 4
    [2] => 3
    [3] => 2
    [4] => 1
)

Seperti yang dapat dilihat daripada hasil output, fungsi rsort() telah mengisih tatasusunan dalam menurun pesanan.

3. Fungsi asort()

Fungsi asort() boleh mengisih tatasusunan bersekutu dalam tertib menaik mengikut nilai.

Berikut ialah sintaks untuk mengisih:

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

Antaranya, parameter $array ialah tatasusunan yang perlu diisih dan parameter $sort_flags ialah bendera isihan pilihan. Secara lalai, pengisihan akan dilakukan mengikut kaedah perbandingan biasa Jika anda perlu mengisih mengikut kaedah lain, anda boleh menentukannya dalam parameter $sort_flags.

Kod sampel:

<?php
    $arr = array("a" => 5, "b" => 1, "c" => 3, "d" => 2, "e" => 4);
    asort($arr);
    print_r($arr);
?>

Hasil keluaran:

Array
(
    [b] => 1
    [d] => 2
    [c] => 3
    [e] => 4
    [a] => 5
)

Seperti yang dapat dilihat daripada hasil keluaran, fungsi asort() telah menyusun tatasusunan dalam menaik susunan nilai, dan pada masa yang sama Hubungan indeks dalam tatasusunan dikekalkan.

4. Fungsi arsort()

Fungsi arsort() adalah serupa dengan fungsi asort() dan boleh mengisih tatasusunan bersekutu dalam tertib menurun mengikut nilai.

Berikut ialah sintaks untuk mengisih:

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

Antaranya, parameter $array ialah tatasusunan yang perlu diisih dan parameter $sort_flags ialah bendera isihan pilihan. Secara lalai, pengisihan akan dilakukan mengikut kaedah perbandingan biasa Jika anda perlu mengisih mengikut kaedah lain, anda boleh menentukannya dalam parameter $sort_flags.

Kod sampel:

<?php
    $arr = array("a" => 5, "b" => 1, "c" => 3, "d" => 2, "e" => 4);
    arsort($arr);
    print_r($arr);
?>

Hasil output:

Array
(
    [a] => 5
    [e] => 4
    [c] => 3
    [d] => 2
    [b] => 1
)

Seperti yang dapat dilihat daripada hasil output, fungsi arsort() telah mengisih tatasusunan dalam menurun susunan mengikut nilai, dan pada masa yang sama Hubungan indeks dalam tatasusunan dikekalkan.

5. Fungsi ksort()

fungsi ksort() boleh mengisih tatasusunan bersekutu dalam tertib menaik mengikut kekunci.

Berikut ialah sintaks untuk mengisih:

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

Antaranya, parameter $array ialah tatasusunan yang perlu diisih dan parameter $sort_flags ialah bendera isihan pilihan. Secara lalai, pengisihan akan dilakukan mengikut kaedah perbandingan biasa Jika anda perlu mengisih mengikut kaedah lain, anda boleh menentukannya dalam parameter $sort_flags.

Kod sampel:

<?php
    $arr = array("a" => 5, "b" => 1, "c" => 3, "d" => 2, "e" => 4);
    ksort($arr);
    print_r($arr);
?>

Hasil output:

Array
(
    [a] => 5
    [b] => 1
    [c] => 3
    [d] => 2
    [e] => 4
)

Seperti yang dapat dilihat daripada hasil output, fungsi ksort() telah menyusun tatasusunan dalam menaik susunan kunci.

6. fungsi krsort()

Fungsi krsort() adalah serupa dengan fungsi ksort() dan boleh mengisih tatasusunan bersekutu dalam tertib menurun mengikut kekunci.

Berikut ialah sintaks untuk mengisih:

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

Antaranya, parameter $array ialah tatasusunan yang perlu diisih dan parameter $sort_flags ialah bendera isihan pilihan. Secara lalai, pengisihan akan dilakukan mengikut kaedah perbandingan biasa Jika anda perlu mengisih mengikut kaedah lain, anda boleh menentukannya dalam parameter $sort_flags.

Kod sampel:

<?php
    $arr = array("a" => 5, "b" => 1, "c" => 3, "d" => 2, "e" => 4);
    krsort($arr);
    print_r($arr);
?>

Hasil output:

Array
(
    [e] => 4
    [d] => 2
    [c] => 3
    [b] => 1
    [a] => 5
)

Seperti yang dapat dilihat daripada hasil output, fungsi krsort() telah mengisih tatasusunan dalam menurun pesanan mengikut kunci.

7. Fungsi usort()

fungsi usort() boleh menyesuaikan pengisihan tatasusunan. Pembangun boleh mentakrifkan sendiri fungsi pengisihan dan kemudian menggunakan fungsi usort() untuk melengkapkan pengisihan tatasusunan. Berikut ialah sintaks untuk mengisih:

usort(array &$array, callable $cmp_function): bool

Antaranya, parameter $array ialah tatasusunan yang perlu diisih dan parameter $cmp_function ialah fungsi isihan tersuai.

Kod sampel:

<?php
    $arr = array(5, 1, 3, 2, 4);
    function cmp($a, $b)
    {
        if ($a == $b) {
            return 0;
        }
        return ($a < $b) ? -1 : 1;
    }
    usort($arr, "cmp");
    print_r($arr);
?>

Hasil output:

Array
(
    [0] => 1
    [1] => 2
    [2] => 3
    [3] => 4
    [4] => 5
)

Seperti yang dapat dilihat daripada hasil output, fungsi usort() telah mengisih tatasusunan mengikut fungsi tersuai.

8 Ringkasan

Artikel ini memperkenalkan pelbagai kaedah pengisihan tatasusunan PHP, termasuk sort(), rsort(), assort(), arsort(), ksort() dan fungsi usort(). Fungsi ini boleh memenuhi keperluan pengisihan yang berbeza, dan pembangun boleh memilih fungsi yang berbeza untuk melaksanakan pengisihan tatasusunan mengikut keperluan mereka. Pada masa yang sama, pembangun juga boleh menyesuaikan fungsi pengisihan mengikut situasi tertentu untuk mencapai fungsi pengisihan yang lebih fleksibel.

Atas ialah kandungan terperinci Terokai kaedah pengisihan 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