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

Bagaimana untuk Mengisih Tatasusunan PHP Multidimensi oleh Medan Tatasusunan Dalam?

Barbara Streisand
Barbara Streisandasal
2024-12-01 16:51:13119semak imbas

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

Mengisih Tatasusunan Berbilang Dimensi mengikut Medan Tatasusunan Dalaman dalam PHP

Dalam PHP, anda boleh memanipulasi tatasusunan berbilang dimensi untuk menyusun data berdasarkan kriteria tertentu . Pertimbangkan tatasusunan yang mewakili jadual pangkalan data, di mana setiap elemen ialah baris dan mengandungi tatasusunan dalaman nama medan dan nilai.

Untuk mengisih tatasusunan ini mengikut medan "harga" tatasusunan dalam, ikut langkah ini :

  1. Ekstrak Nilai "harga": Gunakan fungsi array_column untuk mengekstrak medan "harga" dan simpannya dalam tatasusunan berasingan:

    $prices = array_column($yourArray, "price");
  2. Isih Tatasusunan "harga": Gunakan fungsi sort() (dengan PHP 7 atau lebih awal) atau fungsi sort() (dengan PHP 8 dan lebih baru) untuk mengisih tatasusunan "harga" dalam menaik tertib:

    sort($prices); // For PHP 7 or earlier
    // OR
    $prices = sort($prices); // For PHP 8 and later
  3. Susun Semula Tatasusunan Luar: Gunakan fungsi array_multisort() untuk menyusun semula tatasusunan luar berdasarkan tatasusunan "harga" yang diisih. Ia memerlukan tatasusunan lajur (harga), tatasusunan pesanan (SORT_ASC) dan tatasusunan untuk diisih (Array anda):

    // For PHP 7 or earlier:
    array_multisort($prices, SORT_ASC, $yourArray);
    
    // For PHP 8 and later. No need for `$col` variable:
    array_multisort(array_column($yourArray, "price"), SORT_ASC, $yourArray);

Dengan mengikut langkah ini, anda boleh mengisih dengan cekap tatasusunan berbilang dimensi berdasarkan medan tatasusunan dalam dalam PHP, membolehkan anda menyusun data dalam susunan yang diingini.

Atas ialah kandungan terperinci Bagaimana untuk Mengisih Tatasusunan PHP Multidimensi 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