如何按键查找最大和最小日期

kn3*_*n3l 3 php arrays

我有一个阵列

$a = array(
           "2010-05-03" =>100,
          "2010-05-04" =>400,   
           "2008-05-01" =>800,
          "2011-01-01" =>800
     ); 
Run Code Online (Sandbox Code Playgroud)

我如何找到最大值和最小值key( date)

例如:

max => 2011-01-01
min => 2008-05-01
Run Code Online (Sandbox Code Playgroud)

mar*_*rio 8

我会很懒,让PHP在数组上看两次.找到最小值和第二次找到该值的第一个匹配键:

$min_key = array_search(min($a), $a);
Run Code Online (Sandbox Code Playgroud)

或者最大化:

$max_key = array_search(max($a), $a);
Run Code Online (Sandbox Code Playgroud)

  • Arg,愚蠢的我认为`array_search()`返回一个值,而不是一个键...但这没有任何意义.抱歉! :-) (2认同)

Phi*_*ber 5

(不确定您是想要最大值和最小值键的值还是最大值和最小值的键值。)

这将返回 max/min 键的值:

$keys = array_keys($a);
$min = $a[min($keys));
$max = $a[max($keys));
Run Code Online (Sandbox Code Playgroud)