php 合并多维数组中相同的值
Array(Array(Array([stocknotifyId]=>1,[sku]=>'13809_BL_37',[email]=>'huang@aaa.com'),A...
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') ))
怎么写,合并后变为:
array(
[huang@aaa.com]=>array(
array( [stocknotifyId] => 1,[sku] => '13809_BL_37')
array([stocknotifyId] => 2,[sku] => '13809_B_39')
)
[hrheve@dfwef.com]=>array(
array([stocknotifyId] => 3,[sku] => '13809_BL_37')
array([stocknotifyId] => 4,[sku] => '13809_BL_39')
)
[dfsfs@dfsf.com]=>array(
array([stocknotifyId] => 5,[sku] => '13809_BL_37')
)
) 展开
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') ))
怎么写,合并后变为:
array(
[huang@aaa.com]=>array(
array( [stocknotifyId] => 1,[sku] => '13809_BL_37')
array([stocknotifyId] => 2,[sku] => '13809_B_39')
)
[hrheve@dfwef.com]=>array(
array([stocknotifyId] => 3,[sku] => '13809_BL_37')
array([stocknotifyId] => 4,[sku] => '13809_BL_39')
)
[dfsfs@dfsf.com]=>array(
array([stocknotifyId] => 5,[sku] => '13809_BL_37')
)
) 展开
4个回答
展开全部
$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);
<!-- output -->
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 "<pre>"; 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 "<hr />"; print_r($array);
//转换成想要的数组
$array_res = array();
foreach($array as $val){
$array_res[$val['email']][] = $val;
}
echo "<hr />"; 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'] );
}
// 怎么写,合并后变为:
foreach ( $s[0][0] as $t )
{
$ret['email']=array( ['stocknotifyId'] => $t['stocknotifyId'],['sku'] =>$t['sku'] );
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我先给试试啊。能解决的话我就给贴出来。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询