回答
想想array_reduce
迭代地在一個陣列上:
$max = array_reduce($array, function($a, $b) {
return $a > $b['time'] ? $a : $b['time'];
});
或者你可以使用一個效用函數,如:
function array_col(array $a, $x)
{
return array_map(function($a) use ($x) { return $a[$x]; }, $a);
}
哪想被使用:
$max = max(array_col($array, 'time'));
它更通用和可用於其他類似的東西。
'array_col()'很好! – 2012-06-07 14:52:15
難道你不能使用PHP內建的'array_column'函數而不是'array_col'函數嗎? http://php.net/manual/en/function.array-column.php – 2016-12-24 07:43:01
您總是可以對數組進行排序並分別取第一個或最後一個值。您可以使用usort通過提供自定義比較函數來反映您的結構來對數組進行排序。
這裏有一個簡單的例子:
$foo[1]["time"] = 2323443;
$foo[2]["time"] = 343435;
$foo[3]["time"] = 13455;
$foo[4]["time"] = 9873634;
$foo[5]["time"] = 82736;
$foo[6]["time"] = 9283;
function cmp($a, $b)
{
if ($a["time"] == $b["time"]) {
return 0;
}
return ($a["time"] < $b["time"])
? -1
: 1;
}
usort($foo, "cmp");
$max = $foo[count($foo)-1]["time"];
排序從高到低排列,以最低的[]['time']
條件和得到的第一個值:如果要計算一些單值
function sort_arr($item_1, $item_2)
{
return $item_2['time'] - $item_1['time'];
}
usort($arr, 'sort_arr');
// $arr[0] is the item with the highest time
我不會推薦使用複雜的排序算法來獲取數組中的單個值。實際上,排序只能在真正需要的時候完成。額外的開銷不值得一看「酷炫」的解決方案。 – 2016-10-11 08:11:42
- 1. 在查詢中查找1 MAX值
- 2. 查找MAX值的時間在SQL Server
- 3. 在SQLite中查找幾個MAX值
- 4. 如何在SQLite中查找Max元素?
- 5. ASP.NET SQL查詢查找MAX值
- 6. 查找在PHP
- 7. Max在SQL查詢
- 8. 按分組查找並在數據錶行中找到MAx值
- 9. 尋找MAX
- 10. xslt max函數查找最大值
- 11. 查找MAX值的單一屬性
- 12. 查找數組中的MIN MAX對
- 13. 查找聲明的值(變量)MAX值
- 14. 查找混合陣列的最高MAX()
- 15. 從DataTable中查找Max()Value - Varchar()Column?
- 16. 使用nvl和max查找唯一值
- 17. 查找varchar(max)列的長度
- 18. 找到在計MAX值
- 19. 編寫查詢以在Oracle SQL中查找MAX數字
- 20. php mysql與HAVING和MAX查詢
- 21. PHP - ImageCopyResampled max size
- 22. MAX - 1 php ??它存在嗎?
- 23. 數,通過與Max在PHP
- 24. CakePHP中找到MAX
- 25. 功能Max在查詢AS400
- 26. Linq查詢:MAX在WHERE
- 27. 在每個中查找具有MAX值的記錄
- 28. 如何使用xsom在xsd中查找min-max元素
- 29. 查找最大(max)存儲在使用python
- 30. 查找MAX和SUM可變數目在Excel列沒有宏
可能重複[從多維數組中的元素獲取最大值?](http://stackoverflow.com/questions/2189479/get-the-maximum-value-from-an-element-in-a多維數組) – 2012-03-17 12:10:19