In PHP wird die Funktion usort() verwendet, um Arrays nach mehrstufigen Schlüsselwerten zu sortieren. Mit einer benutzerdefinierten Vergleichsfunktion kann das Array nach Schlüssel-Wert-Paaren sortiert werden, während die Schlüsselnamen unverändert bleiben. Praktische Anwendung: Um Blog-Kommentare nach der Anzahl der Likes zu sortieren, können Sie mit usort() und der Vergleichsfunktion absteigend nach Likes sortieren.
Array nach mehrstufigem Schlüsselwert in PHP sortieren
In PHP kann das Sortieren eines mehrstufigen Schlüsselwert-Arrays die Datenverarbeitung komfortabler machen. In diesem Tutorial wird gezeigt, wie Sie ein Array nach mehrstufigen Schlüssel-Wert-Paaren sortieren und dabei die Schlüsselnamen unverändert lassen.
Verwenden Sie die Funktion 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()
, um ein Array mithilfe einer benutzerdefinierten Vergleichsfunktion zu sortieren. Mit dieser Funktion können wir das Array nach angegebenen Schlüssel-Wert-Paaren sortieren und dabei die Schlüsselnamen beibehalten. 🎜rrreee🎜Ausgabe: 🎜rrreee🎜In diesem Beispiel definieren wir eine Vergleichsfunktion compare()
, die die key
-Werte von Array-Elementen vergleicht. Anschließend verwenden wir die Funktion usort()
, um das Array nach dem Wert key
zu sortieren. 🎜🎜🎜Praktischer Fall🎜🎜🎜Betrachten wir einen praktischen Fall, bei dem wir die Funktion usort()
verwenden, um die Kommentare eines Blogbeitrags nach der Anzahl der Likes zu sortieren. 🎜rrreee🎜Ausgabe: 🎜rrreee🎜In diesem Beispiel verwenden wir die Funktion compareComments()
, um das Kommentararray nach Likes
-Werten (absteigende Reihenfolge) zu sortieren. Anschließend durchlaufen wir das sortierte Array und zeigen den Inhalt und die Anzahl der „Gefällt mir“-Angaben für jeden Kommentar an. 🎜Das obige ist der detaillierte Inhalt vonSortieren Sie Arrays in PHP nach mehrstufigen Schlüsselwerten und behalten Sie dabei die Schlüsselnamen bei. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!