Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk mengisih berbilang tatasusunan menggunakan PHP

Bagaimana untuk mengisih berbilang tatasusunan menggunakan PHP

PHPz
PHPzasal
2023-04-20 13:53:44572semak imbas

PHP ialah bahasa pembangunan yang sangat popular yang digunakan secara meluas dalam pembangunan tapak web dan aplikasi. Dalam PHP, tatasusunan ialah salah satu jenis data yang paling biasa digunakan dan kita boleh menggunakannya untuk menyusun dan menyimpan pelbagai data. Apabila kita perlu mengisih berbilang tatasusunan, kita perlu memahami cara mengisih berbilang tatasusunan menggunakan PHP dan cara menggabungkannya dengan operasi lain.

  1. fungsi sort()

fungsi sort() ialah salah satu fungsi pengisihan tatasusunan yang paling biasa digunakan dalam PHP. Ia mengisih tatasusunan dalam tertib menaik (terkecil hingga terbesar). Berikut ialah contoh:

$numbers = array(5, 3, 7, 1, 9);
sort($numbers);
print_r($numbers);

Output menjalankan kod di atas adalah seperti berikut:

Array
(
    [0] => 1
    [1] => 3
    [2] => 5
    [3] => 7
    [4] => 9
)

Dalam contoh di atas, kami mula-mula mengisytiharkan tatasusunan bernama $numbers, yang mengandungi Lima integer. Kami kemudian menggunakan fungsi sort() untuk mengisih tatasusunan dalam tertib menaik, dan menggunakan fungsi print_r() untuk mengeluarkan hasil yang disusun.

Perlu diambil perhatian bahawa fungsi sort() mengubah susunan tatasusunan asal dan bukannya mencipta tatasusunan diisih baharu. Jika anda perlu mengekalkan susunan tatasusunan asal, anda boleh menyalinnya ke dalam tatasusunan baharu dan menyusunnya.

  1. fungsi asort()

fungsi asort() boleh mengisih tatasusunan dalam tertib menaik, tetapi ia juga akan mengekalkan hubungan pasangan nilai kunci. Berikut ialah contoh:

$students = array("Tom" => 75, "John" => 82, "Sarah" => 68, "Peter" => 93);
asort($students);
print_r($students);

Output menjalankan kod di atas adalah seperti berikut:

Array
(
    [Sarah] => 68
    [Tom] => 75
    [John] => 82
    [Peter] => 93
)

Dalam contoh di atas, kami mengisytiharkan tatasusunan bersekutu bernama $students, yang mengandungi Empat kekunci bernama "Tom", "John", "Sarah" dan "Peter" dan nilai yang sepadan. Kami menggunakan fungsi asort() untuk mengisih tatasusunan, dan fungsi print_r() untuk mengeluarkan hasil yang disusun.

Serupa dengan fungsi sort(), fungsi sort() juga akan mengubah suai susunan tatasusunan asal. Jika anda perlu mengekalkan susunan tatasusunan asal, anda boleh menggunakan fungsi ksort() untuk pengisihan kunci.

  1. fungsi array_multisort()

fungsi array_multisort() boleh mengisih berbilang tatasusunan dan menyokong pengisihan nilai, kekunci atau kedua-duanya dalam tatasusunan pada masa yang sama. Berikut ialah contoh:

$name = array("Tom", "John", "Sarah", "Mary");
$score = array(75, 82, 68, 90);
array_multisort($score, $name);
print_r($name);

Output menjalankan kod di atas adalah seperti berikut:

Array
(
    [0] => Sarah
    [1] => Tom
    [2] => John
    [3] => Mary
)

Dalam contoh di atas, kami mengisytiharkan dua tatasusunan: $name dan $score. Kami menggunakan fungsi array_multisort() untuk mengisih tatasusunan $skor, dan kemudian menyusun semula tatasusunan $nama mengikut susunan yang disusun. Akhir sekali, kami menggunakan fungsi print_r() untuk mengeluarkan tatasusunan $name.

Perlu diambil perhatian bahawa fungsi array_multisort() akan mengubah suai susunan tatasusunan asal dan bukannya mencipta tatasusunan diisih baharu.

  1. fungsi usort()

fungsi usort() ialah fungsi dalam PHP untuk pengisihan tersuai. Ia membolehkan kami mengisih tatasusunan menggunakan fungsi perbandingan yang kami tulis sendiri. Berikut ialah contoh:

$students = array(
    array("name" => "Tom", "score" => 75),
    array("name" => "John", "score" => 82),
    array("name" => "Sarah", "score" => 68),
    array("name" => "Peter", "score" => 93)
);

function compare($a, $b) {
    return $a["score"] < $b["score"] ? -1 : 1;
}

usort($students, "compare");

foreach ($students as $student) {
    echo $student["name"] . " : " . $student["score"] . "<br>";
}

Output menjalankan kod di atas adalah seperti berikut:

Sarah : 68
Tom : 75
John : 82
Peter : 93

Dalam contoh di atas, kami mengisytiharkan tatasusunan dua dimensi $pelajar yang mengandungi empat unsur . Kami juga menulis fungsi perbandingan compare() yang mengambil dua parameter $a dan $b dan kemudian membandingkan markah dan pulangannya -1 atau 1 bergantung pada hasil perbandingan.

Kami menggunakan fungsi usort() untuk memanggil fungsi compare() untuk mengisih tatasusunan $students. Akhir sekali, kami menggunakan gelung foreach() untuk menggelung melalui tatasusunan yang diisih dan menggunakan pernyataan gema untuk mengeluarkan nama dan skor setiap pelajar.

Ringkasan

Terdapat banyak cara untuk mengisih tatasusunan dalam PHP, dan anda boleh memilih fungsi yang sepadan mengikut keperluan anda. Gunakan fungsi sort() untuk mengisih tatasusunan dalam tertib menaik, fungsi asort() untuk mengisih tatasusunan dalam tertib menaik dan mengekalkan hubungan nilai kunci, fungsi array_multisort() untuk mengisih berbilang tatasusunan, dan fungsi usort() untuk sesuaikan Isih. Ambil perhatian bahawa fungsi ini mengubah suai susunan tatasusunan asal daripada mencipta tatasusunan diisih baharu. Jika anda perlu mengekalkan susunan tatasusunan asal, anda boleh menyalinnya ke dalam tatasusunan baharu dan menyusunnya.

Atas ialah kandungan terperinci Bagaimana untuk mengisih berbilang tatasusunan menggunakan 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