首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

数结合并

2013-09-06 
数组合并2个数组://数组aarray (SU13080800340 array (0 CVT121015001,1 CVT121015002,2

数组合并
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',
  ),
)

热点排行