数组拆分问题
假设数组a:
array (
0 =>
array (
'po_num' => 'dynp-770266110-00',
'plant' => 'dynp',
'get_date' => '2013-09-09',
'cust_no' => '12647212',
'total' => '60',
'snp' => '15',
'mount' => '4',
'lp_no' => 'p000000d',
),
1 =>
array (
'po_num' => 'dynp-770266110-00',
'plant' => 'dynp',
'get_date' => '2013-09-09',
'cust_no' => '12654172',
'total' => '615',
'snp' => '15',
'mount' => '41',
'lp_no' => 'p000000d',
),
)
当满足整个total为一定条件时,将数组拆分开来。例中total为675,假设拆分条件为total满足225,也就是拆分为3个数组,如何能将数组拆分成这样?
//b
array (
0 =>
array (
'po_num' => 'dynp-770266110-00',
'plant' => 'dynp',
'get_date' => '2013-09-09',
'cust_no' => '12647212',
'total' => '60',
'snp' => '15',
'mount' => '4',
'lp_no' => 'p000000d',
),
1 =>
array (
'po_num' => 'dynp-770266110-00',
'plant' => 'dynp',
'get_date' => '2013-09-09',
'cust_no' => '12654172',
'total' => '165',
'snp' => '15',
'mount' => '11',
'lp_no' => 'p000000d',
),
)
//c
array (
0 =>
array (
'po_num' => 'dynp-770266110-00',
'plant' => 'dynp',
'get_date' => '2013-09-09',
'cust_no' => '12647212',
'total' => '225',
'snp' => '15',
'mount' => '15',
'lp_no' => 'p000000d',
),
)
//d
array (
0 =>
array (
'po_num' => 'dynp-770266110-00',
'plant' => 'dynp',
'get_date' => '2013-09-09',
'cust_no' => '12647212',
'total' => '225',
'snp' => '15',
'mount' => '15',
'lp_no' => 'p000000d',
),
)
分享到: ?array?('po_num'?=>?'dynp-770266110-00','plant'?=>?'dynp',... data-pics=>
------解决方案--------------------
$a = array (
0 =>
array (
'po_num' => 'dynp-770266110-00',
'plant' => 'dynp',
'get_date' => '2013-09-09',
'cust_no' => '12647212',
'total' => '60',
'snp' => '15',
'mount' => '4',
'lp_no' => 'p000000d',
),
1 =>
array (
'po_num' => 'dynp-770266110-00',
'plant' => 'dynp',
'get_date' => '2013-09-09',
'cust_no' => '12654172',
'total' => '615',
'snp' => '15',
'mount' => '41',
'lp_no' => 'p000000d',
),
);
$t = 225;
foreach($a as $v) {
$t1 = $v['total'];
$v['total'] = $t1 % $t;
$res[] = $v;
$t1 -= $v['total'];
while($t1 >= $t) {