php获取二维数组中id最大的,php 二维数组根据相同id求和,并且限制条件

header('Content-Type: text/plain;charset=utf-8');

$arr = array

(

array

(

'term' => '2015-2016-2',

'stu_id' => '201210530109',

'stu_name' => '罗成',

'stu_major' => '12热工1班',

'depart_name' => '材料学院',

'project_name' => '学雷锋做好事',

'cname' => '社会活动模块',

'period' => '16',

'credit' => '0'

),

array

(

'term' => '2015-2016-2',

'stu_id' => '201210530109',

'stu_name' => '罗成',

'stu_major' => '12热工1班',

'depart_name' => '材料学院',

'project_name' => '会计从业资格证',

'cname' => '科技创新模块',

'period' => '12',

'credit' => '0'

),

array

(

'term' => '2015-2016-1',

'stu_id' => '201210530109',

'stu_name' => '罗成',

'stu_major' => '12热工1班',

'depart_name' => '材料学院',

'project_name' => '教师资格证',

'cname' => '科技创新模块',

'period' => '12',

'credit' => '0'

),

array

(

'term' => '2015-2016-2',

'stu_id' => '201210530111',

'stu_name' => '雷雨',

'stu_major' => '13视传1班',

'depart_name' => '设计学院',

'project_name' => '美术学',

'cname' => '文体艺术模块',

'period' => '15',

'credit' => '0'

),

array

(

'term' => '2015-2016-2',

'stu_id' => '201210530108',

'stu_name' => '周励',

'stu_major' => '13产设1班',

'depart_name' => '设计学院',

'project_name' => 'DOM编程艺术',

'cname' => '科技创新模块',

'period' => '0',

'credit' => '0'

),

array

(

'term' => '2015-2016-2',

'stu_id' => '201210530116',

'stu_name' => '高颜',

'stu_major' => '13陶艺2班',

'depart_name' => '陶美学院',

'project_name' => '音乐',

'cname' => '文体艺术模块',

'period' => '0',

'credit' => '0'

),

array

(

'term' => '2015-2016-2',

'stu_id' => '201210530110',

'stu_name' => '程风',

'stu_major' => '13信管1班',

'depart_name' => '信息学院',

'project_name' => 'JavaScript高级程序设计',

'cname' => '思想道德模块',

'period' => '12',

'credit' => '0'

),

array

(

'term' => '2015-2016-2',

'stu_id' => '201210530112',

'stu_name' => '苏环',

'stu_major' => '13公事1班',

'depart_name' => '人文学院',

'project_name' => '音乐',

'cname' => '文体艺术模块',

'period' => '0',

'credit' => '0'

),

array

(

'term' => '2015-2016-2',

'stu_id' => '201210530109',

'stu_name' => '罗成',

'stu_major' => '12热工1班',

'depart_name' => '材料学院',

'project_name' => '美术学',

'cname' => '文体艺术模块',

'period' => '12',

'credit' => '0'

),

array

(

'term' => '2015-2016-1',

'stu_id' => '201210530109',

'stu_name' => '罗成',

'stu_major' => '12热工1班',

'depart_name' => '材料学院',

'project_name' => 'DOM编程艺术',

'cname' => '科技创新模块',

'period' => '12',

'credit' => '0'

),

array

(

'term' => '2015-2016-1',

'stu_id' => '201210530108',

'stu_name' => '周励',

'stu_major' => '13产设1班',

'depart_name' => '设计学院',

'project_name' => '美术学',

'cname' => '文体艺术模块',

'period' => '12',

'credit' => '0'

),

);

$tmp = array();

foreach($arr as $v) {

if(!isset($tmp[$v['stu_id']])){

$tmp[$v['stu_id']] = $v;

}else {

$tmp[$v['stu_id']]['period'] += $v['period'];

}

}

echo "

";

// 二维数组

print_r(array_values($tmp));

?>

$arr是一个二维数组,数组里有相同的stu_id(学生学号),根据stu_id(学生学号)的period(学时),计算总的period(学时),我的实现方案是这样的。

$tmp = array();

foreach($arr as $v) {

if(!isset($tmp[$v['stu_id']])){

$tmp[$v['stu_id']] = $v;

}else {

$tmp[$v['stu_id']]['period'] += $v['period'];

}

}

echo "

";

// 二维数组

print_r(array_values($tmp));

但是,这只是实现了period(学时)相加。

我还需要加限制条件计算出数组和每个学生的总学分(credit),就是根据cname(模块名称),某个学生的每个模块(共四个模块,分别是思想道德模块、科技创新模块、文体艺术模块、社会活动模块)都需要大于等于16(四个模块同时都满足大于等于16),则这个学生的总学分为6.否则为0。

不知道怎么实现,特请教各位大神,在此先谢谢各位解答了。

你可能感兴趣的:(php获取二维数组中id最大的)