Seperti yang saya sebutkan di artikel saya sebelumnya, Membuat Array di PHP, array sangat berguna jika Anda perlu menyimpan dan memanipulasi data dalam jumlah besar sekaligus. Salah satu cara berguna untuk memanipulasi data ini adalah mengurutkannya dalam urutan tertentu Show
PHP memberi Anda sejumlah besar fungsi pengurutan yang dapat mengurutkan array menggunakan banyak kriteria berbeda. Misalnya, Anda dapat mengurutkan dalam urutan naik atau turun, berdasarkan kunci, atau berdasarkan nilai. Fungsi-fungsi ini membuatnya sangat mudah untuk mengurutkan array tanpa terjebak dalam detail algoritme pengurutan Kami tidak akan mencoba membahas setiap fungsi penyortiran array PHP dalam tutorial ini. Alih-alih, Anda akan belajar tentang fungsi yang menurut Anda paling berguna dalam pengkodean sehari-hari Mari kita mulai Menyortir array yang diindeks. $myArray = array( 1, 2, 'a', 'b', 'A', 'B' ); rsort( $myArray ); // Displays "2 1 b a B A" foreach ( $myArray as $val ) echo "$val "; 5 dan $myArray = array( 1, 2, 'a', 'b', 'A', 'B' ); rsort( $myArray ); // Displays "2 1 b a B A" foreach ( $myArray as $val ) echo "$val "; 6Fungsi 5 mengurutkan nilai dalam array yang diindeks dalam urutan menaik. Ini berarti A muncul sebelum Z, dan 0 muncul sebelum 9. Huruf besar muncul sebelum huruf kecil, dan semua huruf muncul sebelum angka. Sebagai contoh
6 bekerja seperti 5, kecuali mengurutkan dalam urutan menurun
Semua fungsi penyortiran dalam tutorial ini mengembalikan 0 pada keberhasilan dan 1 pada kegagalanMenyortir array asosiatif. $movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); sort( $movie ); // Displays "Array ( [0] => Alfred Hitchcock [1] => Rear Window [2] => 112 [3] => 1954 )" print_r( $movie ); 2 dan $movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); sort( $movie ); // Displays "Array ( [0] => Alfred Hitchcock [1] => Rear Window [2] => 112 [3] => 1954 )" print_r( $movie ); 3 5 dan 6 baik untuk array yang diindeks, di mana Anda biasanya tidak peduli tentang hubungan antara kunci dan nilai. Namun, mereka dapat menyebabkan masalah dengan array asosiatif. Ambil contoh berikut
Seperti yang Anda lihat, fungsi 5 telah mengindeks ulang array dengan indeks numerik, menghancurkan indeks string asli dari 7, 8, 9 dan 0Jika Anda ingin mengurutkan nilai dalam larik asosiatif sambil mempertahankan kunci, gunakan 2 dan 3 sebagai gantinya. Fungsi-fungsi ini tidak hanya mempertahankan kunci, tetapi juga hubungan antara kunci dan nilainyaUntuk mengurutkan nilai dalam urutan menaik, gunakan 2
3 mengurutkan nilai dalam urutan menurun — sekali lagi sambil mempertahankan kunci
Menyortir array asosiatif berdasarkan kunci. $movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); asort( $movie ); // Displays "Array ( [director] => Alfred Hitchcock [title] => Rear Window [minutes] => 112 [year] => 1954 )" print_r( $movie ); 5 dan $movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); asort( $movie ); // Displays "Array ( [director] => Alfred Hitchcock [title] => Rear Window [minutes] => 112 [year] => 1954 )" print_r( $movie ); 6Selain mengurutkan array asosiatif berdasarkan nilai, Anda juga dapat mengurutkannya berdasarkan kunci. _5 mengurutkan elemen dalam urutan kunci menaik, sementara 6 mengurutkan dalam urutan kunci menurun. Seperti _2 dan 3, fungsi ini mempertahankan hubungan antara kunci dan nilaiBerikut beberapa contohnya
Menyortir banyak array dan array multidimensi dengan $movie = array( "title" => "Rear Window", "director" => "Alfred Hitchcock", "year" => 1954, "minutes" => 112 ); arsort( $movie ); // Displays "Array ( [year] => 1954 [minutes] => 112 [title] => Rear Window [director] => Alfred Hitchcock )" print_r( $movie ); 1Fungsi _1 yang kuat dapat mengurutkan beberapa larik terkait sekaligus, menjaga hubungan antar larik. Itu juga dapat mengurutkan array multidimensi, jadi ini adalah fungsi yang cukup fleksibel. Mari kita lihat pengurutan beberapa array terlebih dahulu, lalu kita akan menjelajahi pengurutan array multidimensiMenyortir beberapa arrayUntuk mengurutkan beberapa array menggunakan _1, cukup berikan semua array yang ingin Anda urutkan. Ini sebuah contoh
Kode di atas menampilkan berikut ini Array ( [0] => Alfred Hitchcock [1] => Martin Scorsese [2] => Stanley Kubrick ) Array ( [0] => Rear Window [1] => Mean Streets [2] => Full Metal Jacket ) Array ( [0] => 1954 [1] => 1973 [2] => 1987 ) Perhatikan bagaimana _1 telah mengurutkan nilai dalam 5 dalam urutan menaik, lalu mengurutkan 2 larik lainnya sehingga urutan elemen cocok dengan larik 5 yang sekarang diurutkanBagaimana jika Anda ingin mengurutkan, misalnya, judul?
Urutkan menurut… lalu menurut…Jika larik pertama berisi beberapa nilai yang identik, maka 1 mengurutkan berdasarkan nilai dalam larik pertama, kemudian berdasarkan nilai dalam larik kedua, dan seterusnya. Sebagai contoh
Kode di atas menampilkan yang berikut — perhatikan bahwa 9 muncul sebelum 0 0Mengubah tata urutanAnda bisa memberikan argumen flag opsional setelah argumen array untuk mengontrol urutan pengurutan untuk array tertentu ________31______1Urutkan dalam urutan menaik (default) 2Urutkan dalam urutan menurunAda flag lain yang dapat Anda berikan ke 1 — dan fungsi pengurutan lainnya, dalam hal ini — untuk mengontrol cara pengurutan array. Lihat entri 5 di manual PHP untuk detailnyaContoh berikut mengurutkan larik _5 dalam urutan menaik, kemudian larik 7 dalam urutan menurun _1Inilah hasilnya — perhatikan bahwa 0 sekarang hadir sebelum 9 _2Menyortir array multidimensiJika Anda melewatkan larik multidimensi ke 1, larik akan diurutkan dengan melihat elemen pertama dari setiap larik bersarang. Jika 2 elemen tersebut memiliki nilai yang sama maka diurutkan berdasarkan elemen kedua, dan seterusnyaBerikut adalah contoh yang menunjukkan cara kerjanya. Ini menggunakan _1 untuk mengurutkan array multidimensi berdasarkan sutradara, lalu berdasarkan judul, lalu berdasarkan tahun _3Kode di atas menghasilkan yang berikut ini _4Anda dapat melihat bahwa _1 telah mengurutkan array berdasarkan direktur. Jika sutradaranya sama ( _2), kemudian diurutkan berdasarkan judulUntuk mengurutkan array dalam urutan menurun, berikan flag 2 sebagai argumen kedua ke 1. MudahRingkasanDalam tutorial ini Anda telah melihat beberapa fungsi umum PHP untuk mengurutkan array
Fungsi penyortiran array PHP sangat kuat dan fleksibel, dan memungkinkan Anda dengan mudah dan cepat mengurutkan array sesuka Anda. Faktanya, pada saat penulisan ini ada 13 fungsi PHP yang berbeda untuk menyortir array. Untuk mengetahui lebih lanjut, lihat daftar ini di manual PHP Bagaimana cara mengurutkan banyak array di PHP?array_multisort() dapat digunakan untuk mengurutkan beberapa larik sekaligus, atau larik multidimensi berdasarkan satu atau beberapa dimensi. Kunci asosiatif (string) akan dipertahankan, tetapi kunci numerik akan diindeks ulang. Catatan. Jika dua anggota membandingkan sebagai sama, mereka mempertahankan urutan aslinya.
Bagaimana Anda mengurutkan array array?sort() , seperti itu. var sortArray = larik. sort(function(a, b) { return a - b; }); Ini akan mengurutkan array bilangan bulat dalam urutan menaik.
Bagaimana cara mengurutkan beberapa array?Array diperlakukan sebagai kolom tabel yang akan diurutkan berdasarkan baris. Larik pertama adalah yang utama untuk diurutkan; . Jika item dalam larik pertama dibandingkan sama, urutan pengurutan ditentukan oleh larik kedua, dan seterusnya. . If items in the first array compare as equal, the sort order is determined by the second array, and so on.
Bisakah Anda memiliki array array di PHP?Larik multidimensi adalah larik yang berisi satu atau lebih larik. PHP mendukung array multidimensi dengan kedalaman dua, tiga, empat, lima, atau lebih . |