簡體   English   中英

在PHP中對多維數組值進行排序

[英]Sorting multidimensional array values in PHP

我有以下數組:

Array ( [0] => Array 
               ( [name] => Jonah 
                 [age] => 27 )
        [1] => Array 
               ( [name] => Bianca 
                 [age] => 32 )
      )

是否可以將[age]的子數組值按某種順序排序,例如從最低到最高,反之亦然?

您可以使用usort做到這一點:

usort($arr, function($a, $b)
{
    return $a['age'] - $b['age']; // sorts lowest to highest
});

在函數中交換$a$b以顛倒順序。

我認為使用bool usort ( array &$array , callback $cmp_function )應該是可能的

http://php.net/manual/zh/function.usort.php

只需定義一個按值的[age]鍵排序的回調即可。

這將起作用:

$ages = array();
foreach ($array as $value) {
  $ages[] = $value;
}

array_multisort($values, SORT_ASC, $array);

任何方式都是好的,但這就是“ PHP方式”

array_multisort()可用於一次對多個數組進行排序,也可用於按一個或多個維度對多維數組進行排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM