cari
Rumahpembangunan bahagian belakangtutorial phpBagaimanakah Saya Boleh Isih Tatasusunan PHP Berbilang Dimensi mengikut Nilai Subarray?

How Can I Sort a Multidimensional PHP Array by a Subarray's Value?

Mengisih Tatasusunan mengikut Nilai Subarray dalam PHP

Memesan struktur data ialah tugas pengaturcaraan biasa dan tatasusunan kerap digunakan untuk menyimpan dan mengurus koleksi maklumat. Dalam PHP, tatasusunan boleh mengandungi struktur bersarang, termasuk tatasusunan sebagai nilai. Mengisih tatasusunan berbilang dimensi boleh berguna untuk pelbagai sebab, seperti menyusun data atau mengekstrak elemen tertentu.

Pernyataan Masalah:

Pertimbangkan struktur tatasusunan berikut:

$array = [
    [
        'configuration_id' => 10,
        'id' => 1,
        'optionNumber' => 3,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 9,
        'id' => 1,
        'optionNumber' => 2,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 8,
        'id' => 1,
        'optionNumber' => 1,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
];

Matlamatnya adalah untuk mengisih tatasusunan ini secara berperingkat berdasarkan kekunci 'optionNumber', menghasilkan berikut:

$sortedArray = [
    [
        'configuration_id' => 8,
        'id' => 1,
        'optionNumber' => 1,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 9,
        'id' => 1,
        'optionNumber' => 2,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
    [
        'configuration_id' => 10,
        'id' => 1,
        'optionNumber' => 3,
        'optionActive' => 1,
        'lastUpdated' => '2010-03-17 15:44:12'
    ],
];

Penyelesaian:

Untuk mengisih tatasusunan, kita boleh menggunakan fungsi usort PHP. usort mengambil dua hujah: tatasusunan untuk diisih, dan fungsi perbandingan yang menentukan susunan unsur. Fungsi perbandingan harus mengembalikan nilai negatif jika elemen pertama harus datang sebelum yang kedua, sifar jika setara dan nilai positif jika elemen pertama harus datang selepas elemen kedua.

Dalam kes ini, perbandingan kami fungsi boleh ditakrifkan seperti berikut:

function cmp_by_optionNumber($a, $b) {
  return $a['optionNumber'] - $b['optionNumber'];
}

Fungsi ini menolak nilai 'optionNumber' tatasusunan pertama daripada yang kedua, menghasilkan nilai negatif jika elemen pertama harus didahulukan sebelum kedua, nilai sifar jika ia sama dan nilai positif jika elemen pertama harus datang selepas yang kedua.

Untuk menggunakan fungsi perbandingan ini dengan usort, kami hanya menyampaikannya sebagai hujah kedua:

usort($array, 'cmp_by_optionNumber');

Ini akan mengisih tatasusunan di tempatnya, mengubah suai pembolehubah $array asal untuk menggambarkan susunan yang diisih. Pembolehubah $array yang terhasil akan sama dengan contoh $sortedArray yang disediakan sebelum ini.

Sintaks Alternatif:

Dalam PHP versi 5.3 dan lebih baru, fungsi tanpa nama boleh digunakan bukannya fungsi perbandingan yang dinamakan:

usort($array, function ($a, $b) {
  return $a['optionNumber'] - $b['optionNumber'];
});

PHP 7.0 dan Di atas:

Dalam PHP versi 7.0 dan ke atas, pengendali kapal angkasa boleh digunakan sebagai ganti penolakan dalam fungsi perbandingan untuk mengelakkan masalah limpahan/pemangkasan:

usort($array, function ($a, $b) {
  return $a['optionNumber']  $b['optionNumber'];
});

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Isih Tatasusunan PHP Berbilang Dimensi mengikut Nilai Subarray?. 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
Apakah PDO dalam PHP?Apakah PDO dalam PHP?Apr 28, 2025 pm 04:51 PM

Artikel ini membincangkan objek data PHP (PDO), lanjutan untuk akses pangkalan data dalam PHP. Ia menyoroti peranan PDO dalam meningkatkan keselamatan melalui kenyataan yang disediakan dan faedahnya terhadap MySQLI, termasuk abstraksi pangkalan data dan pengendalian ralat yang lebih baik.

Apakah Memcache dan Memcached dalam PHP? Adakah mungkin untuk berkongsi satu contoh memcache antara beberapa projek PHP?Apakah Memcache dan Memcached dalam PHP? Adakah mungkin untuk berkongsi satu contoh memcache antara beberapa projek PHP?Apr 28, 2025 pm 04:47 PM

Memcache dan Memcached adalah sistem caching PHP yang mempercepat aplikasi web dengan mengurangkan beban pangkalan data. Satu contoh boleh dikongsi di kalangan projek dengan pengurusan kunci yang teliti.

Apakah langkah -langkah untuk membuat pangkalan data baru menggunakan MySQL dan PHP?Apakah langkah -langkah untuk membuat pangkalan data baru menggunakan MySQL dan PHP?Apr 28, 2025 pm 04:44 PM

Artikel membincangkan langkah -langkah untuk membuat dan mengurus pangkalan data MySQL menggunakan PHP, memberi tumpuan kepada sambungan, penciptaan, kesilapan umum, dan langkah -langkah keselamatan.

Adakah JavaScript berinteraksi dengan PHP?Adakah JavaScript berinteraksi dengan PHP?Apr 28, 2025 pm 04:43 PM

Artikel ini membincangkan bagaimana JavaScript dan PHP berinteraksi secara tidak langsung melalui permintaan HTTP kerana persekitaran yang berbeza. Ia merangkumi kaedah untuk menghantar data dari JavaScript ke PHP dan menyoroti pertimbangan keselamatan seperti pengesahan data dan prot

Apa itu pir dalam php?Apa itu pir dalam php?Apr 28, 2025 pm 04:38 PM

Pear adalah rangka kerja PHP untuk komponen yang boleh diguna semula, meningkatkan pembangunan dengan pengurusan pakej, piawaian pengekodan, dan sokongan komuniti.

Apakah kegunaan PHP?Apakah kegunaan PHP?Apr 28, 2025 pm 04:37 PM

PHP adalah bahasa skrip serba boleh yang digunakan terutamanya untuk pembangunan web, mewujudkan halaman dinamik, dan juga boleh digunakan untuk skrip baris arahan, aplikasi desktop, dan pembangunan API.

Apakah nama lama PHP?Apakah nama lama PHP?Apr 28, 2025 pm 04:36 PM

Artikel ini membincangkan evolusi PHP dari "alat halaman rumah peribadi" pada tahun 1995 kepada "PHP: Hypertext Preprocessor" pada tahun 1998, mencerminkan penggunaannya yang diperluaskan di luar laman web peribadi.

Bagaimanakah anda dapat mencegah serangan penetapan sesi?Bagaimanakah anda dapat mencegah serangan penetapan sesi?Apr 28, 2025 am 12:25 AM

Kaedah yang berkesan untuk mengelakkan serangan tetap sesi termasuk: 1. Meningkatkan semula ID Sesi selepas log pengguna masuk; 2. Gunakan algoritma penjanaan ID sesi yang selamat; 3. Melaksanakan mekanisme masa tamat sesi; 4. Menyulitkan data sesi menggunakan HTTPS. Langkah -langkah ini dapat memastikan bahawa aplikasi itu tidak dapat dihancurkan apabila menghadapi serangan tetap sesi.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.

mPDF

mPDF

mPDF ialah perpustakaan PHP yang boleh menjana fail PDF daripada HTML yang dikodkan UTF-8. Pengarang asal, Ian Back, menulis mPDF untuk mengeluarkan fail PDF "dengan cepat" dari tapak webnya dan mengendalikan bahasa yang berbeza. Ia lebih perlahan dan menghasilkan fail yang lebih besar apabila menggunakan fon Unicode daripada skrip asal seperti HTML2FPDF, tetapi menyokong gaya CSS dsb. dan mempunyai banyak peningkatan. Menyokong hampir semua bahasa, termasuk RTL (Arab dan Ibrani) dan CJK (Cina, Jepun dan Korea). Menyokong elemen peringkat blok bersarang (seperti P, DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) ialah aplikasi web PHP/MySQL yang sangat terdedah. Matlamat utamanya adalah untuk menjadi bantuan bagi profesional keselamatan untuk menguji kemahiran dan alatan mereka dalam persekitaran undang-undang, untuk membantu pembangun web lebih memahami proses mengamankan aplikasi web, dan untuk membantu guru/pelajar mengajar/belajar dalam persekitaran bilik darjah Aplikasi web keselamatan. Matlamat DVWA adalah untuk mempraktikkan beberapa kelemahan web yang paling biasa melalui antara muka yang mudah dan mudah, dengan pelbagai tahap kesukaran. Sila ambil perhatian bahawa perisian ini