Rumah >pembangunan bahagian belakang >tutorial php >Cara menyusun susunan dalam php

Cara menyusun susunan dalam php

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2025-03-03 09:16:09495semak imbas

How to Sort Arrays in PHP

Pengendalian data yang disusun sentiasa mudah untuk mengekstrak maklumat khusus, jika tidak, anda perlu meleleh melalui setiap elemen array satu demi satu.

Sebagai contoh, katakan anda menyimpan gred pelajar yang berbeza dalam pelbagai atau jadual. Jika data tidak disusun oleh gred yang diperoleh, anda mesti menyemak gred setiap pelajar di kelas untuk menentukan siapa yang mendapat skor tertinggi dan terendah. Jika jadual telah disusun dari rendah ke gred tinggi, anda boleh mengetahui skor terendah dengan hanya memeriksa gred pelajar pertama.

Artikel ini akan memperkenalkan kaedah penyortiran array PHP berikut:

  • Array Sort mengikut nilai

  • Sort Array Associative

  • Sort array elements mengikut nilai menggunakan fungsi yang ditentukan pengguna

  • array penyortiran utama

  • Mengasingkan Array Multi-Dimensi PHP

  • Menyusun dengan fungsi yang ditentukan pengguna

  • Multiple-column jenis

Menyusun menjadikannya sangat mudah dan cekap untuk banyak tugas yang memerlukan akses kepada atau mendapatkan dataset tertentu. Dalam tutorial ini, kami akan belajar bagaimana menyusun array pelbagai jenis menggunakan fungsi PHP terbina dalam.

Array Sort mengikut nilai

Dalam PHP, susunan penyortiran dengan nilai elemen sangat mudah. Anda boleh memilih untuk menyimpan atau membuang persatuan nilai utama, atau anda boleh menentukan fungsi anda sendiri untuk menentukan cara menyusun elemen. Saya akan menunjukkan kepada anda bagaimana untuk melakukannya dalam bahagian tutorial ini.

anda boleh menggunakan fungsi

, yang boleh menyusun susunan multidimensi berdasarkan pelbagai lajur atau nilai multidimensi. Anda hanya perlu membuat array yang mengandungi nilai utama yang anda mahu gunakan untuk menyusun. Selepas itu, lulus bendera semacam itu. array_multisort()

Contoh berikut harus memberi anda pemahaman yang jelas:

$players = [
    [
        'name' => 'Adam',
        'score' => 70,
        'health' => 80
    ],
    [
        'name' => 'Joey',
        'score' => 60,
        'health' => 90
    ],
    [
        'name' => 'Monty',
        'score' => 70,
        'health' => 45
    ],
    [
        'name' => 'Andrew',
        'score' => 90,
        'health' => 80
    ],
    [
        'name' => 'Sally',
        'score' => 60,
        'health' => 85
    ],
    [
        'name' => 'Amanda',
        'score' => 98,
        'health' => 50
    ],
    [
        'name' => 'James',
        'score' => 50,
        'health' => 50
    ]
];

$p_score = array_column($players, 'score');
$p_health = array_column($players, 'health');

array_multisort($p_score, SORT_DESC, $p_health, SORT_ASC, $players);
Kami mempunyai pelbagai pelbagai dimensi yang menyimpan nama

nama , skor dan kesihatan . Kami menggunakan fungsi dan $p_score. Ini akan memberi kesan kepada keputusan akhir. array_multisort() kami lulus akan disusun mengikut urutan menurun. Ini akan meletakkan $p_score Amanda di bahagian atas kerana dia mempunyai skor tertinggi. Kini unsur -unsur dalam array juga akan disusun semula supaya kesihatan Amanda berada di bahagian atas . $players $players dengan kata lain, tatasusunan

disusun dalam urutan menurun. Nilai -nilai dalam tatasusunan lain akan disusun semula untuk dipadankan dengan pesanan itu juga. Oleh itu, perintah itu akan menjadi

Amanda $p_score, Andrew , Adam , Monty dan sebagainya. sebaik sahaja ia melalui keseluruhan

array. Anda akan melihat bahawa

Adam $p_health dan Monty mempunyai skor yang sama. Oleh itu, kedudukan akhir mereka akan ditentukan oleh kesihatan mereka, yang mesti disusun mengikut urutan menaik. Kesihatan Monty lebih rendah daripada Adam , jadi dia akan mendahului Adam . Perintah pemain kini akan menjadi Amanda , Andrew , Monty , Adam dan sebagainya.

Semua konflik nilai lain diselesaikan dengan cara yang sama. Berikut adalah hasil akhir yang akan anda dapatkan setelah menyusun array:

$players = [
    [
        'name' => 'Adam',
        'score' => 70,
        'health' => 80
    ],
    [
        'name' => 'Joey',
        'score' => 60,
        'health' => 90
    ],
    [
        'name' => 'Monty',
        'score' => 70,
        'health' => 45
    ],
    [
        'name' => 'Andrew',
        'score' => 90,
        'health' => 80
    ],
    [
        'name' => 'Sally',
        'score' => 60,
        'health' => 85
    ],
    [
        'name' => 'Amanda',
        'score' => 98,
        'health' => 50
    ],
    [
        'name' => 'James',
        'score' => 50,
        'health' => 50
    ]
];

$p_score = array_column($players, 'score');
$p_health = array_column($players, 'health');

array_multisort($p_score, SORT_DESC, $p_health, SORT_ASC, $players);

mungkin jelas sekarang, tetapi saya masih ingin menunjukkan bahawa sort() memanggil array berasingan. Berikut adalah contoh:

print_r($players);
/*
Array
(
    [0] => Array
        (
            [name] => Amanda
            [score] => 98
            [health] => 50
        )

    [1] => Array
        (
            [name] => Andrew
            [score] => 90
            [health] => 80
        )

    [2] => Array
        (
            [name] => Monty
            [score] => 70
            [health] => 45
        )

    [3] => Array
        (
            [name] => Adam
            [score] => 70
            [health] => 80
        )

    [4] => Array
        (
            [name] => Sally
            [score] => 60
            [health] => 85
        )

    [5] => Array
        (
            [name] => Joey
            [score] => 60
            [health] => 90
        )

    [6] => Array
        (
            [name] => James
            [score] => 50
            [health] => 50
        )

)
*/

Jika tujuan anda adalah untuk menyusun kedua -dua tatasusunan dalam urutan menaik, maka gunakan sort() untuk kedua -dua tatasusunan ini secara berasingan.

Ringkasan

Dalam tutorial ini, saya menunjukkan kepada anda beberapa fungsi yang berbeza dalam PHP yang boleh digunakan untuk menyusun tatasusunan dengan kunci atau nilai. Kami juga belajar bagaimana untuk menyusun tatasusunan dengan kunci atau nilai menggunakan kriteria penyortiran tersuai kami sendiri dan fungsi uksort() dan uasort(). Bahagian terakhir membincangkan bagaimana untuk menyusun semua nilai dalam pelbagai multidimensi menggunakan hanya medan tertentu.

Saya harap anda telah mempelajari sesuatu yang baru dari tutorial ini. Jika anda mempunyai sebarang pertanyaan atau cadangan, sila beritahu saya dalam komen. Cara terbaik untuk belajar adalah untuk mencuba membuat contoh anda sendiri, menggunakan fungsi ini untuk menyusun tatasusunan.

Artikel ini telah dikemas kini dan mengandungi sumbangan dari Monty Shokeen. Monty adalah pemaju stack penuh yang juga suka menulis tutorial dan mempelajari perpustakaan JavaScript baru.

Atas ialah kandungan terperinci Cara menyusun susunan 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