php:仅将最大值保留在数组中?

乔治79

给定一个简单的数组

$testarr = array("Donna"=>3, "Luke" => 4, "Pete" =>4, "Lola" => 1);

如何只保留最大值?我知道我可以做一个

max($testarr);

然后遍历数组以删除不同的值,但可能会使用诸如array_filter之类的sg,或者可以使用一种更为优雅的衬板解决方案。

我们

这是您的单线使用array_filter

<?php

$testarr = array("Donna"=>3, "Luke" => 4, "Pete" =>4, "Lola" => 1);
$max = max($testarr);
$only_max = array_filter($testarr, function($item) use($max){ return $item == $max; });
var_dump( $only_max );

输出:

array(2) {
  ["Luke"]=>
  int(4)
  ["Pete"]=>
  int(4)
}

注意,闭包函数是引用$max正如@devon所建议的那样,引用原始数组会使代码更短且更通用,以换取计算效率。

$only_max = array_filter($testarr, 
    function($item) use($testarr){ 
        return $item == max($testarr);
    });

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何仅将特定的数组键/值保留在数组中?

如何仅将唯一值保留在数组中?

提交PHP和HTML之后,将值保留在数组中

将索引保留在数组中

PHP preg_split或preg_match句子,但将标点符号保留在数组中

仅将向量R中找到的字保留在数据框中

仅将配对的行保留在数据框中

仅将单词保留在数据框元素的列表中

如何仅将数字保留在数据框的列的字符串中?

JavaScript数组映射,同时将原始元素保留在数组中

将特定值保留在数据框中并删除所有其他值

MaterializeCSS-多重选择-取消选择后值保留在数组中

保留在数组中的2套差异-C ++

如何从用户输入并保留在数组列表中

删除字符串,使用JavaScript将数字保留在数组中

如何将具有给定名称标签的元素保留在数组中?

将属于最大组的行仅保留在熊猫中

根据条件将原始值保留在数据框中

将行号保留在数据框列中

如何仅将具有多个值的行保留在pandas DataFrame中?

如何使用Python将仅连续值保留在Pandas数据框中

Unnest函数仅将第一个值保留在列表中

每个主键的熊猫只将具有最大值的行保留在另一列中

拆分一个值,但将值保留在结果数组中

角材料数据表复选框在全选或选择单个项目时将值保留在数组中,如果取消选择则删除

删除后:离群值接近最大值,保留在R箱图中

如何总计我的数组以使其成为一个值并仍然保留在数组中

拆分字符串值但将换行符保留在新数组中

JS,将数组数据保留在sessionStorage中的问题