Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Pengisihan tatasusunan PHP: penerokaan mendalam daripada satu dimensi kepada berbilang dimensi

Pengisihan tatasusunan PHP: penerokaan mendalam daripada satu dimensi kepada berbilang dimensi

WBOY
WBOYasal
2024-04-29 16:00:02285semak imbas

PHP menyediakan pelbagai fungsi pengisihan tatasusunan, termasuk sort(), rsort(), assort(), arsort() untuk pengisihan tatasusunan berbilang dimensi, anda boleh menggunakan fungsi tersuai array_multisort(), dengan menentukan Berbilang lajur untuk diisih dalam tertib menaik atau menurun.

Pengisihan tatasusunan PHP: penerokaan mendalam daripada satu dimensi kepada berbilang dimensi

Pengisihan Tatasusunan PHP: Penerokaan yang mendalam daripada satu dimensi kepada berbilang dimensi

Pengenalan

Pengisihan tatasusunan adalah penting dalam pengaturcaraan dan boleh digunakan untuk mengatur data. PHP menyediakan beberapa fungsi untuk mengisih tatasusunan, termasuk sort(), rsort(), asort(), arsort () code>, <code>natsort(), natcasesort() dsb. sort(), rsort(), asort(), arsort(), natsort(), natcasesort() 等。

单维数组排序

对单维数组进行排序很简单,可以通过以下函数:

  • sort():按升序对数组元素进行排序。
  • rsort():按降序对数组元素进行排序。
  • asort():按键进行升序排序。
  • arsort()
Isih tatasusunan satu dimensi

Isih tatasusunan satu dimensi adalah sangat mudah, anda boleh menggunakan fungsi berikut:

  • sort(): Isih elemen tatasusunan dalam susunan menaik.

  • rsort(): Isih elemen tatasusunan dalam tertib menurun.
  • asort(): Isih dalam tertib menaik mengikut kekunci.

  • arsort(): Isih dalam susunan menurun mengikut kekunci.

    Kes praktikal: Isih tatasusunan satu dimensi produk dalam tertib menaik mengikut nama

    <?php
    $products = array(
        "Apple" => "iPhone",
        "Samsung" => "Galaxy",
        "Google" => "Pixel",
    );
    
    asort($products);
    
    print_r($products);
    Output:
    Array
    (
        [Apple] => iPhone
        [Google] => Pixel
        [Samsung] => Galaxy
    )

    Isih tatasusunan pelbagai dimensi

    🎜🎜Sesetengah masa. Tiada fungsi luar biasa dalam PHP untuk melakukan ini, tetapi kita boleh mengatasinya dengan fungsi tersuai: 🎜
    function array_multisort($array, $columns) {
        $temp = [];
        foreach($array as $k => $v) {
            $temp[$k] = [];
            foreach($columns as $key) {
                $temp[$k][$key] = $v[$key];
            }
        }
        array_multisort($temp, SORT_ASC);
        foreach($temp as $k => $v) {
            foreach($columns as $key) {
                $array[$k][$key] = $v[$key];
            }
        }
        return $array;
    }
    🎜🎜Contoh praktikal: Mengisih tatasusunan berbilang dimensi mengikut nama produk dan harga 🎜🎜
    <?php
    $products = array(
        array(
            "name" => "iPhone",
            "price" => 1000,
        ),
        array(
            "name" => "Galaxy",
            "price" => 800,
        ),
        array(
            "name" => "Pixel",
            "price" => 900,
        ),
    );
    
    array_multisort($products, ['name', 'price']);
    
    print_r($products);
    🎜Output : 🎜rreeee

Atas ialah kandungan terperinci Pengisihan tatasusunan PHP: penerokaan mendalam daripada satu dimensi kepada berbilang dimensi. 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