$arr = array(
array(
array(
"stocknotifyId" => 1,
"sku" => '13809_BL_37',
"email" => 'huang@aaa.com'
),
array(
"stocknotifyId" => 3,
"sku" => '13809_BL_37',
"email" => 'hrheve@dfwef.com'
),
array(
"stocknotifyId" => 5,
"sku" => '13809_BL_37',
"email" => 'dfsfs@dfsf.com'
)
),
array(
array(
"stocknotifyId" => 2,
"sku" => '13809_B_39',
"email" => 'huang@aaa.com'
)
),
array(
array(
"stocknotifyId" => 4,
"sku" => '13809_BL_39',
"email" =>'hrheve@dfwef.com'
)
)
);
$re = array();
foreach($arr as $a) {
foreach ($a as $v) {
$tmp_v = $v;
unset($tmp_v['email']);
if(isset($re[$v['email']])) {
$re[$v['email']][] = $tmp_v;
}else{
$re[$v['email']] = array($tmp_v);
}
}
}
print_r($re);
Array
(
[huang@aaa.com] => Array
(
[0] => Array
(
[stocknotifyId] => 1
[sku] => 13809_BL_37
)
[1] => Array
(
[stocknotifyId] => 2
[sku] => 13809_B_39
)
)
[hrheve@dfwef.com] => Array
(
[0] => Array
(
[stocknotifyId] => 3
[sku] => 13809_BL_37
)
[1] => Array
(
[stocknotifyId] => 4
[sku] => 13809_BL_39
)
)
[dfsfs@dfsf.com] => Array
(
[0] => Array
(
[stocknotifyId] => 5
[sku] => 13809_BL_37
)
)
)
//原数组
$arr = array(
array(
array('stocknotifyId'=>1,'sku'=>'13809_BL_37','email'=>'huang@aaa.com'),
array('stocknotifyId'=>3,'sku'=>'13809_BL_37','email'=>'hrheve@dfwef.com'),
array('stocknotifyId'=>5,'sku'=>'13809_BL_37','email'=>'dfsfs@dfsf.com'),
array(
array('stocknotifyId'=>2,'sku'=>'13809_B_39','email'=>'huang@aaa.com')
),
array(
array('stocknotifyId'=>4,'sku'=>'13809_B_39','email'=>'hrheve@dfwef.com')
)
)
);
echo ""; print_r($arr);
//把$arr转换成统一格式的二维数组
$array = array();
foreach($arr as $val){
foreach($val as $v){
foreach($v as $vop){
if(is_array($vop)){
$array[$vop['stocknotifyId']] = $vop;
}else{
$array[$v['stocknotifyId']] = $v;
}
}
}
}
ksort($array);
echo "
"; print_r($array);
//转换成想要的数组
$array_res = array();
foreach($array as $val){
$array_res[$val['email']][] = $val;
}
echo "
"; print_r($array_res);
//我已经测试过了,可以转换成的
$s=Array( Array( Array([stocknotifyId] => 1,[sku] => '13809_BL_37',[email] => 'huang@aaa.com'), Array([stocknotifyId] => 3,[sku] => '13809_BL_37',[email] => 'hrheve@dfwef.com'), Array([stocknotifyId] => 5,[sku] => '13809_BL_37',[email] => 'dfsfs@dfsf.com') ), Array( Array([stocknotifyId] => 2,[sku] => '13809_B_39',[email] => 'huang@aaa.com') ) Array( Array([stocknotifyId] => 4,[sku] => '13809_BL_39',[email] =>'hrheve@dfwef.com') ));
// 怎么写,合并后变为:
foreach ( $s[0][0] as $t )
{
$ret['email']=array( ['stocknotifyId'] => $t['stocknotifyId'],['sku'] =>$t['sku'] );
}
我先给试试啊。能解决的话我就给贴出来。