使用php以最佳方式计算多数组的键
我有以下数组(从php中的json解码): 我想计算“test”键并返回所有具有相同键的相关数组: 123在数组中具有最多的外观 因此,我希望得到以下结果(显示最多的数组列表): 然后(如果可能的话,当然可以在同一个循环中完成)从这个列表中,我想用最高的键:使用php以最佳方式计算多数组的键,php,arrays,Php,Arrays,我有以下数组(从php中的json解码): 我想计算“test”键并返回所有具有相同键的相关数组: 123在数组中具有最多的外观 因此,我希望得到以下结果(显示最多的数组列表): 然后(如果可能的话,当然可以在同一个循环中完成)从这个列表中,我想用最高的键: array("num1"=6 , "test"=123" ,"key" = 5) 如何在php中以最佳方式实现这一点? 非常感谢像这样的东西可能有用, 所有函数在PHP.net上都有很好的解释 <?php $keyCo
array("num1"=6 , "test"=123" ,"key" = 5)
如何在php中以最佳方式实现这一点?
非常感谢像这样的东西可能有用, 所有函数在PHP.net上都有很好的解释
<?php
$keyCounts = array_count_values( array_column( $arr, 'test' ));
$maxs = array_keys($arr, max($keyCounts ));
$filtered = array_filter($arr , function($row) {
return $row['test'] === $maxs;
});
$filteredMax = max(array_column( $filtered , 'key' );
$final = array_filter($filtered , function($row) {
return $row['key'] === $filteredMax;
});
您尝试了什么。如果您不尝试,我们就不会为您编写代码。
array("num1"=6 , "test"=123" ,"key" = 5)
<?php
$keyCounts = array_count_values( array_column( $arr, 'test' ));
$maxs = array_keys($arr, max($keyCounts ));
$filtered = array_filter($arr , function($row) {
return $row['test'] === $maxs;
});
$filteredMax = max(array_column( $filtered , 'key' );
$final = array_filter($filtered , function($row) {
return $row['key'] === $filteredMax;
});