php二维数组求最大值 求教各位大牛,现在又一个数组$a={[0]=>{123,张三,45},[1]=>{123,张三,60},[2]=>{234,李四,47},[3]=>{234,李四,68},[4]=>{234,李四,87}},求出张三和李四成绩最大值(最后一个值),不用mysql,只用php的数组操作,希望指教!!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 $a = array( array( 123, '张三', 45 ), array( 123, '张三', 60 ), array( 234, '李四', 47 ), array( 234, '李四', 68 ), array( 234, '李四', 87 ),);foreach($a as $v) $r[$v[1]] = max($r[$v[1]], $v[2]);print_r($r);Array( [张三] => 60 [李四] => 87) 如果是$a = array( array( 123, '张三','大一', 45 ), array( 123, '张三','大一', 60 ), array( 234, '李四', '大二',47 ), array( 234, '李四','大二', 68 ), array( 234, '李四','大一', 87 ),);同一个人,同一年的时候最大值呢? $v[1] 改为 $v[1].$v[2]其实思路很简单,只要将组装关联键就可以了和数据库操作时一样 $a = array( array( 123, '张三','大一', 45 ), array( 123, '张三','大一', 60 ), array( 234, '李四', '大二',47 ), array( 234, '李四','大二', 68 ), array( 234, '李四','大一', 87 ),);foreach($a as $v){ $r[$v[2]][$v[1]]=max($v[3],$r[$v[2]][$v[1]]);}print_r($r);/*Array( [大一] => Array ( [张三] => 60 [李四] => 87 ) [大二] => Array ( [李四] => 68 ))*/ 我用max函数求最大值好用,为什么min函数求最小值不好用呢?有什么不一样的地方吗? $a = array( array( 123, '张三', 45 ), array( 123, '张三', 60 ), array( 234, '李四', 47 ), array( 234, '李四', 68 ), array( 234, '李四', 87 ),);foreach($a as $v) { if(! $r[$v[1]]) $r[$v[1]] = 999; $r[$v[1]] = min($r[$v[1]], $v[2]);}print_r($r);需要有一个大的初值其实 max 时也是要初值的,只不过数组元素不出在时被当做了 0 php生成静态页面很复杂吗 C#转php 求助:一个字符串分离的问题~~ 像淘宝的产品搜索功能是如何实现的 rewrite问题 内置函数别名 “18n_http_output“怎么用? 给个答案好吗? 那位能提供正点一点的PHP+MySql的分页显示的原代码: 比方说一篇文章 里 帮忙看下这个怎么实现 用什么工具可以方便的 预览、修改 php和css 。。。还得接着求助。。关于PHP中如何把数组作为sql查询语句的条件,我的代码有问题
array( 123, '张三', 45 ),
array( 123, '张三', 60 ),
array( 234, '李四', 47 ),
array( 234, '李四', 68 ),
array( 234, '李四', 87 ),
);foreach($a as $v)
$r[$v[1]] = max($r[$v[1]], $v[2]);print_r($r);Array
(
[张三] => 60
[李四] => 87
)
$a = array(
array( 123, '张三','大一', 45 ),
array( 123, '张三','大一', 60 ),
array( 234, '李四', '大二',47 ),
array( 234, '李四','大二', 68 ),
array( 234, '李四','大一', 87 ),
);
同一个人,同一年的时候最大值呢?
和数据库操作时一样
$a = array(
array( 123, '张三','大一', 45 ),
array( 123, '张三','大一', 60 ),
array( 234, '李四', '大二',47 ),
array( 234, '李四','大二', 68 ),
array( 234, '李四','大一', 87 ),
);
foreach($a as $v){
$r[$v[2]][$v[1]]=max($v[3],$r[$v[2]][$v[1]]);
}
print_r($r);
/*Array
(
[大一] => Array
(
[张三] => 60
[李四] => 87
)
[大二] => Array
(
[李四] => 68
)
)*/
我用max函数求最大值好用,为什么min函数求最小值不好用呢?有什么不一样的地方吗?
array( 123, '张三', 45 ),
array( 123, '张三', 60 ),
array( 234, '李四', 47 ),
array( 234, '李四', 68 ),
array( 234, '李四', 87 ),
);foreach($a as $v) {
if(! $r[$v[1]]) $r[$v[1]] = 999;
$r[$v[1]] = min($r[$v[1]], $v[2]);
}print_r($r);需要有一个大的初值
其实 max 时也是要初值的,只不过数组元素不出在时被当做了 0