Rumah >pembangunan bahagian belakang >tutorial php >Cara menyusun susunan dalam php
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
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()
$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 $players
$players
dengan kata lain, tatasusunan
Amanda $p_score
, Andrew , Adam , Monty dan sebagainya.
sebaik sahaja ia melalui keseluruhan
Adam Semua konflik nilai lain diselesaikan dengan cara yang sama. Berikut adalah hasil akhir yang akan anda dapatkan setelah menyusun array: mungkin jelas sekarang, tetapi saya masih ingin menunjukkan bahawa Jika tujuan anda adalah untuk menyusun kedua -dua tatasusunan dalam urutan menaik, maka gunakan 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 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. $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 $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);
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
)
)
*/
sort()
untuk kedua -dua tatasusunan ini secara berasingan. Ringkasan
uksort()
dan uasort()
. Bahagian terakhir membincangkan bagaimana untuk menyusun semua nilai dalam pelbagai multidimensi menggunakan hanya medan tertentu.
Atas ialah kandungan terperinci Cara menyusun susunan dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!