按键对多维数组排序
处理多维数组时的一个常见任务是需要根据特定键对它们进行排序。例如,考虑以下数组:
Array ( [0] => Array ( [iid] => 1 [invitee] => 174 [nid] => 324343 [showtime] => 2010-05-09 15:15:00 [location] => 13 [status] => 1 [created] => 2010-05-09 15:05:00 [updated] => 2010-05-09 16:24:00 ) [1] => Array ( [iid] => 1 [invitee] => 220 [nid] => 21232 [showtime] => 2010-05-09 15:15:00 [location] => 12 [status] => 0 [created] => 2010-05-10 18:11:00 [updated] => 2010-05-10 18:11:00 ))
要按[status]键对此数组进行排序,可以使用usort函数和自定义比较函数:
// Define a comparison function function cmp($a, $b) { if ($a['status'] == $b['status']) { return 0; } return ($a['status']通过定义 cmp 函数,您可以指定在排序期间应如何比较元素。在这种情况下,它比较两个元素的 [status] 键,如果 $a['status'] 小于 $b['status'],则返回 -1,如果相等则返回 0,否则返回 1。
usort 函数根据比较函数的输出按升序排列数组元素。这允许您按所需的键对多维数组进行排序,在本例中为 [status].
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3