array(
  array(
     'a' => 3,
     'b' => 4,
  ),
  array(
     'a' => 324,
     'b' => 15,
  ),
  array(
     'a' => 99,
     'b' => 7,
  ),
)
这样一个数组,怎样最高效率的取得b的最大值? 

解决方案 »

  1.   

    在不遍历的情况下,目前想到的方法就是:
    先把数组的b调到第一位置(比如把b前调,或者删除b前面的所有其他key),然后rsort,取$arrar[0][b]即可。 
      

  2.   

    君子兰不是吧?干吗不用max()?
      

  3.   

    <?php
    $ar = array(
      array(
         'a' => 3,
         'b' => 4,
      ),
      array(
         'a' => 324,
         'b' => 15,
      ),
      array(
         'a' => 99,
         'b' => 7,
      ),
    );
    echo max(array_map('max', $ar));
    ?>
      

  4.   

    array_map(create_function('$r', '$GLOBALS["tmp"][] = $r["b"];'), $ar);
    echo max($tmp);