php - 如何找到数组中的最小数字并返回该数组的主索引?
问题描述
我有一个如下所示的数组。我想在“diff”索引中找到编号最小的数组。所以在这种情况下,我想取回数组 [7]。我需要的只是数组编号(即 7)而不是任何其他信息。
我知道我可以使用 array_column 轻松找到最小的数字,但我如何也返回 7 的整体数组索引?
[1] => Array
(
[qb] => 7
[rb] => 58
[wr] => 91
[te] => 3
[def] => 11
[diff] => 136
)
[2] => Array
(
[qb] => 21
[rb] => 96
[wr] => 102
[te] => 48
[def] => 15
[diff] => 240
)
[3] => Array
(
[qb] => 23
[rb] => 86
[wr] => 216
[te] => 6
[def] => 32
[diff] => 287
)
[4] => Array
(
[qb] => 30
[rb] => 51
[wr] => 200
[te] => 14
[def] => 17
[diff] => 266
)
[5] => Array
(
[qb] => 17
[rb] => 118
[wr] => 273
[te] => 14
[def] => 30
[diff] => 380
)
[6] => Array
(
[qb] => 10
[rb] => 112
[wr] => 142
[te] => 16
[def] => 4
[diff] => 264
)
[7] => Array
(
[qb] => 2
[rb] => 50
[wr] => 135
[te] => 9
[def] => 20
[diff] => 104
)
[8] => Array
(
[qb] => 16
[rb] => 68
[wr] => 141
[te] => 12
[def] => 1
[diff] => 224
)
解决方案
正如你所说,你可以使用 array_column 和 min()。
然后使用 array_search 找到最小值所在的位置。
//Since the array starts with key 1 then use array_values to reset the array first.
$array = array_values($array);
$diff = array_column($array, "diff");
$min = min($diff);
$key = array_search($min, $diff);
$result = $array[$key];
工作示例:
https ://3v4l.org/ci70K
推荐阅读
- python - 你如何在 Seaborn 中为 kde 情节创造传奇?
- reactjs - 如何在哑组件中避免使用 ConnectedProps 的循环类型依赖
- app.yaml - “python37”运行时不支持python appengine Pipfile
- python - 如何创建一个循环,直到重复原始值?
- intellij-idea - IntelliJ IDEA 能否在配备 ARM 处理器(Apple Silicone)的 Mac 上工作
- swift - 如何快速从字符串中删除包含文本的行
- braintree - 通过 Braintree 的 Hosted Fields 集成,标记化是否会触发卡验证?如果是这样,我该如何防止验证攻击?
- mainframe - 大型机潜在恶意文件取证调查
- angular - 如何在不重新加载组件的情况下将更新的变量传递给另一个组件?
- reactjs - AgGridReact - 当 isRowSelectable 更改时,网格不会更新