数组计算差值及项的小计
Jun 23, 2016 pm 01:59 PM $s = array ( 0 => array ( 0 => array ( 0 => '2014-04-11', 'time' => '2014-04-11', 1 => 'BEA01-120N', 'type' => 'BEA01-120N', 2 => 176, 'count' => 176, ), 1 => array ( 0 => '2014-04-11', 'time' => '2014-04-11', 1 => 'BEA21-110N', 'type' => 'BEA21-110N', 2 => 1056, 'count' => 1056, ), ), 1 => array ( 0 => array ( 0 => '2014-04-11', 'time' => '2014-04-11', 1 => 'BEA01-120N', 'type' => 'BEA01-120N', 2 => 192, 'count' => 192, ), 1 => array ( 0 => '2014-04-11', 'time' => '2014-04-11', 1 => 'BEA21-110N', 'type' => 'BEA21-110N', 2 => 960, 'count' => 960, ), ), )
求其type对应的差值和$s[0]及$s[1]的type项的小计。(小计部分已实现,用了unset)
理想得到的结果:
小计的结果: BEA01-120N 176 BEA01-120N 192 差值:176-192 = -16
BEA21-110N 1056 BEA21-110N 960 1056-960 = 96
小计:176+1056=1232 192+960 = 1152
回复讨论(解决方案)
$s = array ( 0 => array ( 0 => array ( 0 => '2014-04-11', 'time' => '2014-04-11', 1 => 'BEA01-120N', 'type' => 'BEA01-120N', 2 => 176, 'count' => 176, ), 1 => array ( 0 => '2014-04-11', 'time' => '2014-04-11', 1 => 'BEA21-110N', 'type' => 'BEA21-110N', 2 => 1056, 'count' => 1056, ), ), 1 => array ( 0 => array ( 0 => '2014-04-11', 'time' => '2014-04-11', 1 => 'BEA01-120N', 'type' => 'BEA01-120N', 2 => 192, 'count' => 192, ), 1 => array ( 0 => '2014-04-11', 'time' => '2014-04-11', 1 => 'BEA21-110N', 'type' => 'BEA21-110N', 2 => 960, 'count' => 960, ), ),);function foo($a, $b) { for($i=0; $i<count($a); $i++) { $res[] = array($a[$i]['type'], $a[$i]['count'] - $b[$i]['count']); } return $res;}$t = call_user_func_array('foo', $s);print_r($t);
Array( [0] => Array ( [0] => BEA01-120N [1] => -16 ) [1] => Array ( [0] => BEA21-110N [1] => 96 ))
$s = array (
0 => array (
0 => array (
0 => '2014-04-11', 'time' => '2014-04-11',
1 => 'BEA01-120N', 'type' => 'BEA01-120N',
2 => 176, 'count' => 176,
),
1 => array (
0 => '2014-04-11', 'time' => '2014-04-11',
1 => 'BEA21-110N', 'type' => 'BEA21-110N',
2 => 1056, 'count' => 1056,
),
),
1 => array (
0 => array (
0 => '2014-04-11', 'time' => '2014-04-11',
1 => 'BEA01-120N', 'type' => 'BEA01-120N',
2 => 192, 'count' => 192,
),
1 => array (
0 => '2014-04-11', 'time' => '2014-04-11',
1 => 'BEA21-110N', 'type' => 'BEA21-110N',
2 => 960, 'count' => 960,
),
),
);
function my($a,$b){
foreach($a as $k=>$v){
echo $a[$k]['count']-$b[$k]['count']."
";
}
}
call_user_func_array('my',$s);

Hot Article

Hot tools Tags

Hot Article

Hot Article Tags

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

11 Best PHP URL Shortener Scripts (Free and Premium)

Working with Flash Session Data in Laravel

Build a React App With a Laravel Back End: Part 2, React

Simplified HTTP Response Mocking in Laravel Tests

cURL in PHP: How to Use the PHP cURL Extension in REST APIs

12 Best PHP Chat Scripts on CodeCanyon
