一个从php中的数组中为关联数组找到最大值的行


One liner to find maximum from array in php for associative array

我研究了关联数组的最大值问题,但我正在寻找一个线性。我有如下数组,

    $studenRsults=array(
  array(
      'roll'=>1,
      'name'=>'jack Smit',
      'marks'=>70
  ),
    array(
      'roll'=>4,
      'name'=>'Sita',
      'marks'=>50
  ),
   array(
      'roll'=>2,
      'name'=>'Akhilesh',
      'marks'=>80
  ),
  array(
      'roll'=>3,
      'name'=>'jon',
      'marks'=>50
  ),
);

请推荐一条班轮,谢谢。

这需要php 5.5+用于array_column

$max = max(array_column($studenRsults, 'marks'));

或php 5.3+用于lamdas

$max = max(array_map(function($el){ return $el['marks']; }, $studenRsults));

假设你的意思是最大滚动。但是,是的,代码质量不是以你有多少行来衡量的。。。

foreach($studenRsults as $result) $maxResult = (isset($maxResult['roll']) && ($maxResult['roll'] > $result['roll'])) ? $maxResult : $result;
print_r($maxResult); // print the max roll student