#1 tmd
比如有个数组$user=array(array('name'='bob','age'=25),array('name'='fox','age'=20),array('name'='mike','age'=35)),如何计算$user数组中最大的年龄?2011-02-12 11:04:50
2011-02-12 11:04:50
$user = array_msort($user, array('age'=>array(SORT_DESC)));
function array_msort($array, $cols)
{
$colarr = array();
foreach ($cols as $col => $order) {
$colarr[$col] = array();
foreach ($array as $k => $row) { $colarr[$col]['_'.$k] = strtolower($row[$col]); }
}
$params = array();
foreach ($cols as $col => $order) {
$params[] =& $colarr[$col];
$params = array_merge($params, (array)$order);
}
call_user_func_array('array_multisort', $params);
$ret = array();
$keys = array();
$first = true;
foreach ($colarr as $col => $arr) {
foreach ($arr as $k => $v) {
if ($first) { $keys[$k] = substr($k,1); }
$k = $keys[$k];
if (!isset($ret[$k])) $ret[$k] = $array[$k];
$ret[$k][$col] = $array[$k][$col];
}
$first = false;
}
return $ret;
}
2011-02-12 12:03:03
2011-02-12 16:55:59
2011-02-12 17:01:36
2011-02-13 21:20:56