Dalam artikel sebelumnya "PHP Dalam Pembelajaran Tatasusunan: Cara Memintas Serpihan Elemen (Dua Kaedah) ", kami memperkenalkan cara memintas tatasusunan dan mengembalikan serpihan elemen tatasusunan separa Dua kaedah. Kali ini kita meneruskan kajian tatasusunan PHP dan bercakap tentang kaedah menyusun elemen tatasusunan dua dimensi Rakan-rakan yang berminat boleh belajar Ketahui lebih lanjut~
→Syor yang berkaitan: 《 Ringkasan siri pembelajaran tatasusunan PHP (terus dikemas kini~)》
Kami mengetahui tentang perkara ini sebelum Terdapat beberapa kaedah pengisihan untuk tatasusunan dimensi Anda tahu bahawa PHP mempunyai banyak fungsi terbina dalam untuk melaksanakan pengisihan menurun dan pengisihan menaik bagi tatasusunan satu dimensi. Jadi adakah tatasusunan dua dimensi juga mempunyai fungsi terbina dalam untuk melaksanakan pengisihan?
Jawapannya ialah: Ya! PHP mempunyai fungsi array_multisort()
terbina dalam untuk mengisih tatasusunan dua dimensi. Di bawah ini kami memperkenalkan kepada anda dua kaedah untuk menyusun tatasusunan dua dimensi menggunakan fungsi array_multisort().
Kaedah 1: foreach loop array_multisort() fungsi
<?php $data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates', ), array( 'id' => 3809, 'first_name' => 'Mark', 'last_name' => 'Zuckerberg', ), array( 'id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Aobs', ) ); // 取得列的列表 foreach ($data as $key => $row) { $ID[$key] = $row['id']; $FirstName[$key] = $row['first_name']; $LastName[$key] = $row['last_name']; } array_multisort($ID, SORT_ASC, $data); var_dump($data); ?>
Analisis kod:
Gunakan foreach loop untuk Letakkan data dalam medan yang sama dan gunakan var_dump($ID)
, var_dump($FirstName)
, var_dump($LastName)
untuk mencuba mengeluarkan data dalam setiap medan:
Gunakan array_multisort($ID, SORT_ASC, $data)
Isih dalam tertib menaik mengikut medan lajur "id
" dalam tatasusunan dua dimensi $data.
Jadi hasil keluarannya ialah:
Dan jika anda ingin mengisih mengikut tertib menurun berdasarkan id, tetapkan yang kedua parameter fungsi kepada SORT_DESC
Itu sahaja:
array_multisort($ID, SORT_DESC, $data);
Hasil keluaran:
Jika anda ingin mengisih berdasarkan nama belakang, hanya tetapkan parameter pertama fungsi Untuk tatasusunan $LastName,
array_multisort($LastName, SORT_DESC, $data);
Hasil keluaran:
Mari kita lihat fungsi array_multisort():
array_multisort() fungsi mengembalikan tatasusunan yang diisih. Pengguna boleh memasukkan satu atau lebih tatasusunan dan fungsi akan mengisih tatasusunan pertama, kemudian tatasusunan yang lain, dan jika dua atau lebih nilai adalah sama, ia akan mengisih tatasusunan seterusnya. Sintaksnya adalah seperti berikut:
array_multisort(array1,sorting order,sorting type,array2,array3...)
Kaedah 2: array_column() function array_multisort() function
Dalam kaedah 1 , kami Adalah agak rumit untuk menggunakan gelung foreach untuk mendapatkan data medan yang sama. Malah, anda boleh menggunakan fungsi array_column() untuk mencapai operasi ini. Fungsi array_column() boleh mengembalikan nilai lajur tunggal dalam tatasusunan input.
<?php $data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates', ), array( 'id' => 3809, 'first_name' => 'Mark', 'last_name' => 'Zuckerberg', ), array( 'id' => 4767, 'first_name' => 'Steve', 'last_name' => 'Aobs', ) ); //根据字段id对数组$data进行升序排列 $key = array_column($data,'id'); array_multisort($key,SORT_ASC,$data); var_dump($data); ?>
Hasil keluaran:
Jika anda ingin mengisih mengikut medan mana, gantikan parameter kedua fungsi array_column($data,'id')
dengan medan itu ( nilai kunci). Contohnya, jika anda ingin mengisih mengikut tertib menurun berdasarkan medan "first_name", anda boleh:
$key = array_column($data,'first_name'); array_multisort($key,SORT_DESC,$data);
Hasil keluaran:
Mari kita lihat di bawah fungsi array_column():
array_column() mengembalikan nilai lajur tunggal dalam tatasusunan input. Format sintaks ialah:
array_column(array,column_key,index_key);
Nilai pulangan: Mengembalikan tatasusunan, nilai tatasusunan ialah nilai satu lajur dalam tatasusunan input.
Itu sahaja jika anda ingin mengetahui perkara lain, anda boleh klik ini. → →Tutorial video php
Akhir sekali, saya mengesyorkan tutorial video percuma tentang tatasusunan PHP: Penjelasan video fungsi tatasusunan fungsi PHP, datang dan pelajari!
Atas ialah kandungan terperinci Bagaimana untuk mengisih tatasusunan dua dimensi dalam pembelajaran tatasusunan PHP (2 kaedah). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!