数组合并
2个数组:
//数组a
array (
'SU13080800340' =>
array (
0 => 'CVT121015001',
1 => 'CVT121015002',
2 => 'CVT121226001',
),
)
//数组b
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '3',
'total' => '48',
'c1_time' => '2013-08-10 15:00:00',
)
array (
'0' =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '3',
'total' => '48',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121015001',
),
'1' =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '3',
'total' => '48',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121015002',
),
'2' =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '3',
'total' => '48',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121016001',
),
)
[解决办法]
楼主你应该更明确的描述你的需求
如果仅仅是按照你的样例来写代码,扩展起来可能又会出现问题
按照你的样例,可以这么写:
//数组a
$a = array (
'SU13080800340' =>
array (
0 => 'CVT121015001',
1 => 'CVT121015002',
2 => 'CVT121226001'
)
);
//数组b
$b = array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '3',
'total' => '48',
'c1_time' => '2013-08-10 15:00:00'
);
$res = array();
foreach($a['SU13080800340'] as $key=>$each){
$res[] = $b;
$res[$key]['packageno'] = $each;
}
var_export($res);
array (
0 =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '3',
'total' => '48',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121015001',
),
1 =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '3',
'total' => '48',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121015002',
),
2 =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '3',
'total' => '48',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121226001',
),
)
//数组a得
$a = array (
'SU13080800340' =>
array (
0 => 'CVT121015001',
1 => 'CVT121015002',
2 => 'CVT121226001',
),
);
//数组b
$b = array (
'0' =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '1',
'total' => '16',
'c1_time' => '2013-08-10 15:00:00',
),
'1' =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5B',
'mount_total' => '2',
'total' => '32',
'c1_time' => '2013-08-10 15:00:00',
),
);
foreach($b as $item) {
for($i=0; $i<$item['mount_total']; $i++) {
$item['packageno'] = current(array_splice($a[$item['stock_no']], 0, 1));
$res[] = $item;
}
}
var_export($res);
array (
0 =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5A',
'mount_total' => '1',
'total' => '16',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121015001',
),
1 =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5B',
'mount_total' => '2',
'total' => '32',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121015002',
),
2 =>
array (
'stock_no' => 'SU13080800340',
'adress' => 'B',
'arr_time' => '2013-08-14 09:00:00',
'c_type' => 'P32E',
'cust_no' => '310F61VA5B',
'mount_total' => '2',
'total' => '32',
'c1_time' => '2013-08-10 15:00:00',
'packageno' => 'CVT121226001',
),
)