Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php以最佳方式计算多数组的键_Php_Arrays - Fatal编程技术网

使用php以最佳方式计算多数组的键

使用php以最佳方式计算多数组的键,php,arrays,Php,Arrays,我有以下数组(从php中的json解码): 我想计算“test”键并返回所有具有相同键的相关数组: 123在数组中具有最多的外观 因此,我希望得到以下结果(显示最多的数组列表): 然后(如果可能的话,当然可以在同一个循环中完成)从这个列表中,我想用最高的键: array("num1"=6 , "test"=123" ,"key" = 5) 如何在php中以最佳方式实现这一点? 非常感谢像这样的东西可能有用, 所有函数在PHP.net上都有很好的解释 <?php $keyCo

我有以下数组(从php中的json解码):

我想计算“test”键并返回所有具有相同键的相关数组: 123在数组中具有最多的外观

因此,我希望得到以下结果(显示最多的数组列表):

然后(如果可能的话,当然可以在同一个循环中完成)从这个列表中,我想用最高的键:

   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; 
});