$a = array (
0 => array ( 'id' => '10', 'title' => 'a','type' => '1', 'bian'=>'1'),
1 => array ( 'id' => '10', 'title' => 'a','type' => '1', 'bian'=>'2'),
2 => array ( 'id' => '11', 'title' => 'b','type' => '2', 'bian'=>'1'),
3 => array ( 'id' => '11', 'title' => 'c','type' => '2', 'bian'=>'2'),
);
$b = array (
0 => array ( '10' => '1','11_2' => '1'),
1 => array ( '10' => '1','11_2' => '1'),
2 => array ( '11_1' => '1','11_2' => '1'),
3 => array ( '10' => '2','11_2' => '1'),
);
$t = array();
foreach($a as $item) {
if($item['type'] == '1') {
$t[$item['id']] = '';
}else $t[$item['id'].'_'.$item['bian']] = '';
}
$c = array();
foreach($b as $v) {
$r = array();
foreach($t as $k=>$n) $r[$k] = @$v[$k];
$c[] = $r;
}
print_r($c);Array
(
[0] => Array
(
[10] => 1
[11_1] =>
[11_2] => 1
) [1] => Array
(
[10] => 1
[11_1] =>
[11_2] => 1
) [2] => Array
(
[10] =>
[11_1] => 1
[11_2] => 1
) [3] => Array
(
[10] => 2
[11_1] =>
[11_2] => 1
))
0 => array ( 'id' => '10', 'title' => 'a','type' => '1', 'bian'=>'1'),
1 => array ( 'id' => '10', 'title' => 'a','type' => '1', 'bian'=>'2'),
2 => array ( 'id' => '11', 'title' => 'b','type' => '2', 'bian'=>'1'),
3 => array ( 'id' => '11', 'title' => 'c','type' => '2', 'bian'=>'2'),
);
$b = array (
0 => array ( '10' => '1','11_2' => '1'),
1 => array ( '10' => '1','11_2' => '1'),
2 => array ( '11_1' => '1','11_2' => '1'),
3 => array ( '10' => '2','11_2' => '1'),
);
$t = array();
foreach($a as $item) {
if($item['type'] == '1') {
$t[$item['id']] = '';
}else $t[$item['id'].'_'.$item['bian']] = '';
}
$c = array();
foreach($b as $v) {
$r = array();
foreach($t as $k=>$n) $r[$k] = @$v[$k];
$c[] = $r;
}
print_r($c);Array
(
[0] => Array
(
[10] => 1
[11_1] =>
[11_2] => 1
) [1] => Array
(
[10] => 1
[11_1] =>
[11_2] => 1
) [2] => Array
(
[10] =>
[11_1] => 1
[11_2] => 1
) [3] => Array
(
[10] => 2
[11_1] =>
[11_2] => 1
))
追加 array ( '10' => '', '11_1' => '','11_2' => '')做为$c的
$a = array (
0 => array ( 'id' => '10', 'title' => 'a','type' => '1', 'bian'=>'1'),
1 => array ( 'id' => '10', 'title' => 'a','type' => '1', 'bian'=>'2'),
2 => array ( 'id' => '11', 'title' => 'b','type' => '2', 'bian'=>'1'),
3 => array ( 'id' => '11', 'title' => 'c','type' => '2', 'bian'=>'2'),
);
$b = array (
0 => array ( '10' => '1','11_2' => '1'),
1 => array ( '10' => '1','11_2' => '1'),
2 => array ( '11_1' => '1','11_2' => '1'),
3 => array ( '10' => '2','11_2' => '1'),
);
$t = array();
foreach($a as $item) {
if($item['type'] == '1') {
$t[$item['id']] = '';
}else $t[$item['id'].'_'.$item['bian']] = '';
}
$c = array();
foreach($b as $v) {
$r = array();
foreach($t as $k=>$n) $r[$k] = @$v[$k];
$c[] = $r;
}
print_r($c);就是数组a整里的结果插到$c中,是不是一定要把$c在遍历一次?
Array
(
0=> array ( '10' => '', '11_1' => '','11_2' => '')//就插在这里
[0] => Array
(
[10] => 1
[11_1] =>
[11_2] => 1
)
[1] => Array
(
[10] => 1
[11_1] =>
[11_2] => 1
)
[2] => Array
(
[10] =>
[11_1] => 1
[11_2] => 1
)
[3] => Array
(
[10] => 2
[11_1] =>
[11_2] => 1
)
)
$c = array();
改为
$c = array($t);