PHP ialah bahasa pengaturcaraan yang sangat baik yang menyokong mengakses dan mengendalikan pelbagai jenis tatasusunan. Sama ada tatasusunan satu dimensi atau tatasusunan berbilang dimensi, ia boleh diisih dan diproses menggunakan pelbagai fungsi yang disediakan dalam PHP. Artikel ini akan membincangkan secara terperinci cara mengisih tatasusunan dua dimensi dalam PHP.
Apakah tatasusunan dua dimensi?
Pertama, kita perlu tahu apa itu tatasusunan dua dimensi. Tatasusunan dua dimensi merujuk kepada struktur tatasusunan yang terdiri daripada tatasusunan satu dimensi berbilang, yang boleh difahami sebagai jadual atau matriks. Sebagai contoh, dalam sistem pengurusan maklumat pelajar, setiap maklumat pelajar membentuk tatasusunan satu dimensi, dan semua maklumat pelajar membentuk tatasusunan dua dimensi.
Bagaimana untuk mencipta tatasusunan dua dimensi?
Dalam PHP, kita boleh mencipta tatasusunan dua dimensi dalam pelbagai cara, seperti:
boleh ditetapkan dalam pembolehubah tatasusunan Mulakan secara langsung tatasusunan dua dimensi menggunakan pasangan nilai kunci:
$students = array( array('name' => '张三', 'age' => 18, 'score' => 80), array('name' => '李四', 'age' => 20, 'score' => 90), array('name' => '王五', 'age' => 19, 'score' => 85) );
Anda juga boleh menambah elemen pada tatasusunan satu oleh satu untuk mencipta tatasusunan dua dimensi:
$students = array(); $students[] = array('name' => '张三', 'age' => 18, 'score' => 80); $students[] = array('name' => '李四', 'age' => 20, 'score' => 90); $students[] = array('name' => '王五', 'age' => 19, 'score' => 85);
Bagaimana untuk mengisih tatasusunan dua dimensi?
Selepas mempunyai tatasusunan dua dimensi, kita selalunya perlu mengisihnya untuk mempersembahkan data dan memaparkan hasil dengan lebih baik. Dalam PHP, pengisihan tatasusunan dua dimensi boleh dilakukan menggunakan fungsi terbina dalam.
Anda boleh menggunakan fungsi isihan terbina dalam dalam PHP untuk mengisih keseluruhan tatasusunan dua dimensi dengan menyatakan nama kunci. Contohnya, contoh berikut boleh mengisih keseluruhan tatasusunan mengikut nama kunci "skor":
function sortByScore($a, $b) { return $a['score'] < $b['score']; } usort($students, 'sortByScore');
SkorByskor di sini ialah fungsi panggil balik yang digunakan untuk menentukan kaedah perbandingan. Fungsi usort digunakan untuk mengisih tatasusunan Parameter kedua menentukan nama fungsi perbandingan.
Jika anda perlu mengisih mengikut berbilang nilai kunci, anda boleh mengisih berbilang nilai kunci dengan membandingkannya dalam fungsi panggil balik . Sebagai contoh, contoh berikut boleh mengisih mengikut nama kunci "skor" dahulu, dan kemudian mengisih mengikut nama kunci "umur" jika setiap skor adalah sama:
function sortByScoreAndAge($a, $b) { if ($a['score'] == $b['score']) { return ($a['age'] < $b['age']) ? -1 : 1; } else { return ($a['score'] > $b['score']) ? -1 : 1; } } usort($students, 'sortByScoreAndAge');
Kaedah di sini ialah mengisih dahulu mengikut nama kunci "umur": Isih mengikut "skor". Jika dua pelajar mempunyai skor yang sama, mereka diisih mengikut "umur".
Kadangkala, kita perlu mengisih tatasusunan dua dimensi mengikut jenis nilai kunci untuk pemprosesan seterusnya yang lebih baik. Tatasusunan boleh diisih menggunakan fungsi array_multisort terbina dalam dalam PHP. Sebagai contoh, contoh berikut boleh mengisih keseluruhan tatasusunan mengikut jenis nilai kunci "skor":
$score = array_column($students, 'score'); // 获取所有学生的分数 array_multisort($score, SORT_ASC, $students);
Fungsi array_column di sini digunakan untuk mendapatkan markah semua pelajar dan menyimpannya dalam $ tengah tatasusunan skor. Fungsi array_multisort digunakan untuk mengisih keseluruhan tatasusunan, dan hasil yang diisih akan disimpan dalam pembolehubah $students.
Kesimpulan
Di atas ialah perbincangan tentang menyusun tatasusunan dua dimensi dalam PHP. Apabila kita perlu memproses sejumlah besar data, pengisihan tatasusunan selalunya merupakan bahagian yang sangat diperlukan. Sama ada mengisih mengikut nilai kunci tunggal atau berbilang nilai kunci, PHP menyediakan fungsi terbina dalam yang sesuai untuk membantu kami mengisih dengan mudah. Kami berharap artikel ini dapat membantu anda.
Atas ialah kandungan terperinci Bagaimana untuk mengatur tatasusunan dua dimensi dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!