Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi dalam PHP oleh Medan Tatasusunan Dalam?

Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi dalam PHP oleh Medan Tatasusunan Dalam?

Linda Hamilton
Linda Hamiltonasal
2024-11-29 06:14:101039semak imbas

How to Sort a Multidimensional Array in PHP by an Inner Array's Field?

Isih Tatasusunan Berbilang Dimensi mengikut Medan Tatasusunan Dalam dalam PHP [pendua]

Pertimbangkan tatasusunan berbilang dimensi yang mewakili struktur seperti pangkalan data, di mana setiap elemen menandakan baris dengan tatasusunan dalam yang mengandungi pasangan nilai nama medan. Contohnya:

Array
(
    [0] => Array
        (
            [name] => 'Sony TV'
            [price] => 600.00
        )

    [1] => Array
        (
            [name] => 'LG TV'
            [price] => 350.00
        )

    [2] => Array
        (
            [name] => 'Samsung TV'
            [price] => 425.00
        )  
}

Matlamatnya ialah untuk mengisih baris ini berdasarkan medan "harga". Hasil yang diinginkan ialah:

Array
(
    [0] => Array
        (
            [name] => 'LG TV'
            [price] => 350.00
        )

    [1] => Array
        (
            [name] => 'Samsung TV'
            [price] => 425.00
        )

    [2] => Array
        (
            [name] => 'Sony TV'
            [price] => 600.00
        )        
}

Penyelesaian:

Untuk mencapai pengisihan ini, PHP menawarkan penyelesaian mudah berikut:

array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);

Sebagai alternatif , coretan berikut boleh digunakan untuk mengekalkan kunci tatasusunan luar:

$col = array_column($yourArray, "price");
array_multisort($col, SORT_ASC, SORT_NUMERIC, $yourArray);

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan Berbilang Dimensi dalam PHP oleh Medan Tatasusunan Dalam?. 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