php - 根据php中提到的数组从多维数组中获取最大值
问题描述
我面临一个从数组中获得最高价值的问题。我有两个数组。第一个数组如下:
$catids = [239,240,238]
第二个数组是下面的多维数组:
$categories = Array
(
[0] => Array
(
[category_id] => 239
[final_price] => 1999
)
[1] => Array
(
[category_id] => 238
[final_price] => 2990
)
[2] => Array
(
[category_id] => 240
[final_price] => 3500
)
[3] => Array
(
[category_id] => 241
[final_price] => 500
)
)
预计出局
Array
(
[category_id] => 240
[final_price] => 3500
)
在我的输入数组中,catid 240 的最大值为 3500。
我试过的
I have sorted the array by final_price in ascending order
usort($categories, function($a, $b) {
return $a['final_price'] <=> $b['final_price'];
});
解决方案
在 PHP 中执行此操作非常简单,您只需遍历类别并首先检查 category_id 是否在您感兴趣的类别 id 数组中,然后将 final_price 与当前最大值进行比较...
$max = ["final_price" => PHP_INT_MIN];
foreach ( $categories as $category ) {
if ( in_array($category["category_id"], $catids)
&& $category["final_price"] > $max["final_price"] ) {
$max = $category;
}
}
print_r($max);
这与测试数据给出了......
Array
(
[category_id] => 240
[final_price] => 3500
)
推荐阅读
- nativescript - 扩展中继器(或其他具有嵌套 XML 标记属性的小部件)
- sql - 将 CLOB 数据列转为字符串
- python - 石头、纸、剪刀——错误的结果
- sql - sql查询,字段匹配时按值排序
- css - 使用 font-awsome 作为下拉图标的引导选择库
- c# - How do I add a C# solution file in JetBrains Rider?
- javascript - 格式化对象数组输出
- javascript - Backbone - 聆听 2 个模型的最佳方式是什么?
- git - Git 不断更改文件
- javascript - 如何使用带有锚标记的数组中随机选择的 URL 链接