Dalam PHP, fungsi usort() digunakan untuk mengisih tatasusunan mengikut nilai kunci berbilang peringkat Dengan fungsi perbandingan yang ditentukan pengguna, tatasusunan boleh diisih mengikut pasangan nilai kunci sambil mengekalkan nama kunci tidak berubah. Aplikasi praktikal: Untuk mengisih ulasan blog mengikut bilangan suka, anda boleh menggunakan usort() dan fungsi perbandingan untuk mengisih mengikut tertib menurun mengikut suka.
Isih tatasusunan mengikut nilai kunci berbilang peringkat dalam PHP
Dalam PHP, menyusun tatasusunan nilai kunci berbilang peringkat boleh menjadikan pemprosesan data lebih mudah. Tutorial ini menunjukkan cara mengisih tatasusunan mengikut pasangan nilai kunci berbilang peringkat sambil mengekalkan nama kunci tidak berubah.
Menggunakan fungsi usort()
usort()
usort()
函数使用用户定义的比较函数对数组进行排序。我们可以通过该函数将数组按指定的键值对排序,同时保持键名。
<?php function compare($a, $b) { return $a['key'] <=> $b['key']; } $data = [ 'data1' => ['key' => 10], 'data2' => ['key' => 5], 'data3' => ['key' => 15], ]; usort($data, 'compare'); print_r($data); ?>
输出:
Array ( [data2] => Array ( [key] => 5 ) [data1] => Array ( [key] => 10 ) [data3] => Array ( [key] => 15 ) )
在这个例子中,我们定义了一个比较函数 compare()
,该函数将数组元素的 key
值进行比较。然后,我们使用 usort()
函数将数组按照 key
值进行排序。
实战案例
让我们考虑一个实际案例,使用 usort()
函数对博客文章的评论按点赞数量进行排序。
<?php $comments = [ 1 => ['content' => '评论 1', 'likes' => 10], 2 => ['content' => '评论 2', 'likes' => 5], 3 => ['content' => '评论 3', 'likes' => 15], ]; function compareComments($a, $b) { return $b['likes'] <=> $a['likes']; } usort($comments, 'compareComments'); foreach ($comments as $id => $comment) { echo "评论 $id: {$comment['content']}, 点赞数: {$comment['likes']}<br>"; } ?>
输出:
评论 3: 评论 3, 点赞数: 15<br> 评论 1: 评论 1, 点赞数: 10<br> 评论 2: 评论 2, 点赞数: 5<br>
在这个例子中,我们使用 compareComments()
函数对评论数组按 likes
usort()
mengisih tatasusunan menggunakan fungsi perbandingan yang ditentukan pengguna. Kita boleh menggunakan fungsi ini untuk mengisih tatasusunan mengikut pasangan nilai kunci yang ditentukan sambil mengekalkan nama kunci. 🎜rrreee🎜Output: 🎜rrreee🎜Dalam contoh ini, kami mentakrifkan fungsi perbandingan compare()
yang membandingkan nilai key
elemen tatasusunan. Kami kemudian menggunakan fungsi usort()
untuk mengisih tatasusunan mengikut nilai key
. 🎜🎜🎜Kes Praktikal🎜🎜🎜Mari kita pertimbangkan kes praktikal, menggunakan fungsi usort()
untuk mengisih ulasan catatan blog mengikut bilangan suka. 🎜rrreee🎜Output: 🎜rrreee🎜Dalam contoh ini, kami menggunakan fungsi compareComments()
untuk mengisih tatasusunan ulasan mengikut nilai likes
(tertib menurun). Kami kemudian mengulangi tatasusunan yang diisih dan memaparkan kandungan dan bilangan suka untuk setiap ulasan. 🎜Atas ialah kandungan terperinci Isih tatasusunan mengikut nilai kunci berbilang peringkat dalam PHP, mengekalkan nama kunci. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!