❶ php如何合並數組當中有相同數值的數組
array_unique函數提供了過濾重復的值的功能,但是該函數只能處理一維數組,如果遇到多維數組我們可以現將其轉化為一維數組。示例代碼如下
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
/*
* $data 是你要處理數據
* $result 是輸出的結果
*/
//將其轉化為一維數組
foreach ($data as &$row) {
$row = serialize($row);
}
unset($row);
$data = array_unique($data);
//還原多維數組
foreach ($data as &$row) {
$row = unserialize($row);
}
unset($row);
不好意思 樓主要求,我看錯了,追加下面的代碼
1
2
3
4
5
6
7
8
9
10
11
12
$result=array();
$tmp_arr=array();
foreach ($data as $row) {
$tmp_arr[$row['confuguarable_sku']][] = $row['size'];
}
//將尺寸用逗號拼接
foreach ($tmp_arr as $sku => $size) {
$result[] = array('confuguarable_sku'=>$sku, 'size'=>implode(",", $size));
}
echo "<pre>";
//輸出結果
print_r($result);
❷ php將數組鍵值相同的數組合並數組為一個數組
把'huaka'改成了'huakai'似乎是一個人
<?php
$a=array(
array("username"=>"piaoyudesi","email"=>"[email protected]","address"=>"shenzhen","item_id"=>"10058","item_title"=>"BPS8"),
array("username"=>"huakai","email"=>"[email protected]","address"=>"zhongshan","item_id"=>"10087","item_title"=>"BPS9"),
array("username"=>"huakai","email"=>"[email protected]","address"=>"zhongshan","item_id"=>"10047","item_title"=>"BPS10"),
array("username"=>"piaoyudesi","email"=>"[email protected]","address"=>"shenzhen","item_id"=>"10042","item_title"=>"BPS10"),
array("username"=>"jimowenxin","email"=>"[email protected]","address"=>"zhuhai","item_id"=>"10031","item_title"=>"BPS18")
);
$u=array();
foreach($a as $k=>&$e){
$name=&$e['username'];
if(!isset($u[$name])){
$u[$name]=$e;
unset($u[$name]['item_id'],$u[$name]['item_title']);
}
$u[$name]['goods'][]=array('item_id'=>$e['item_id'],'item_title'=>$e['item_title']);
}
$a=array_values($u); unset($u);
print_r($a);
=========
Array
(
[0] => Array
(
[username] => piaoyudesi
[email] => [email protected]
[address] => shenzhen
[goods] => Array
(
[0] => Array
(
[item_id] => 10058
[item_title] => BPS8
)
[1] => Array
(
[item_id] => 10042
[item_title] => BPS10
)
)
)
[1] => Array
(
[username] => huakai
[email] => [email protected]
[address] => zhongshan
[goods] => Array
(
[0] => Array
(
[item_id] => 10087
[item_title] => BPS9
)
[1] => Array
(
[item_id] => 10047
[item_title] => BPS10
)
)
)
[2] => Array
(
[username] => jimowenxin
[email] => [email protected]
[address] => zhuhai
[goods] => Array
(
[0] => Array
(
[item_id] => 10031
[item_title] => BPS18
)
)
)
)
❸ php 合並多維數組中相同的值
$arr=array(
array(
array(
"stocknotifyId"=>1,
"sku"=>'13809_BL_37',
"email"=>'[email protected]'
),
array(
"stocknotifyId"=>3,
"sku"=>'13809_BL_37',
"email"=>'[email protected]'
),
array(
"stocknotifyId"=>5,
"sku"=>'13809_BL_37',
"email"=>'[email protected]'
)
),
array(
array(
"stocknotifyId"=>2,
"sku"=>'13809_B_39',
"email"=>'[email protected]'
)
),
array(
array(
"stocknotifyId"=>4,
"sku"=>'13809_BL_39',
"email"=>'[email protected]'
)
)
);
$re=array();
foreach($arras$a){
foreach($aas$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
(
[[email protected]]=>Array
(
[0]=>Array
(
[stocknotifyId]=>1
[sku]=>13809_BL_37
)
[1]=>Array
(
[stocknotifyId]=>2
[sku]=>13809_B_39
)
)
[[email protected]]=>Array
(
[0]=>Array
(
[stocknotifyId]=>3
[sku]=>13809_BL_37
)
[1]=>Array
(
[stocknotifyId]=>4
[sku]=>13809_BL_39
)
)
[[email protected]]=>Array
(
[0]=>Array
(
[stocknotifyId]=>5
[sku]=>13809_BL_37
)
)
)
❹ php 把多維數組中,某值相同的項合並,重組數據
<?php
$laArray = array(
0 => array("id"=>11,"name"=>"happy","age"=>"20","moeny"=>100),
1 => array("id"=>29,"name"=>"lucy","age"=>"20","moeny"=>100),
2 => array("id"=>34,"name"=>"happy","age"=>"20","moeny"=>235),
3 => array("id"=>42,"name"=>"happy","age"=>"15","moeny"=>100),
4 => array("id"=>51,"name"=>"happy","age"=>"20","moeny"=>600),
5 => array("id"=>61,"name"=>"lucy","age"=>"20","moeny"=>350),
6 => array("id"=>61,"name"=>"lucy","age"=>"23","moeny"=>150),
);
$temArr = $laArray ;
$newArr = array();
foreach($laArray as $num => $arr ){
unset($temArr[$num]);
$id = $arr['id'];
foreach($temArr as $tNum =>$tArr ){
$n_arr = array();
$tem_moeny = array();
if($arr['name']== $tArr['name'] && $arr['age']== $tArr['age']){
$id .= '+'.$tArr['id'];
$n_arr['id'] = $id;
$n_arr['name'] = $arr['name'];
$n_arr['age'] = $arr['age'];
if(is_array($arr['moeny'])){
array_push($n_arr['moeny'], $tArr['moeny']);
}else{
$tem_moeny [] = $arr['moeny'];
$tem_moeny [] = $tArr['moeny'];
}
$tem_moeny[] = $tArr['moeny'];
$n_arr['moeny'] = $tem_moeny;
$newArr[] = $n_arr ;
}
}
if($id == $arr['id']){
$newArr[] = $arr ;
}
}
print_r($newArr);
?>
❺ php如何將一個數組重復的元素合並到一個新的數組
具體實例代碼如下:
<?php
// 刪除數組中相同元素,只保留一個相同元素
function formatArray($array)
{
sort($array);
$tem = "";
$temarray = array();
$j = 0;
for($i=0;$i<count($array);$i++)
{
if($array[$i]!=$tem)
{
$temarray[$j] = $array[$i];
$j++;
}
$tem = $array[$i];
}
return $temarray;
}
//測試 調用函數
$array = array('aa','bb','aa',3,4,5,5,5,5,'bc');
$arr = formatArray($array);
print_r($arr);
?>
❻ php 倆個二維數組合並,根據相同的值,去合並數組
不知道你有沒有想過,數組不要使用0、1、2、....這些下標,而是使用主鍵作為下標,例如:
$test=array(
'20181005'=>array('openup'=>1,'shenhe'=>5,'rejection'=>0,'adopt'=>1),
'20181006'=>array('openup'=>1,'shenhe'=>5,'rejection'=>0,'adopt'=>1),
'20181007'=>array('openup'=>1,'shenhe'=>5,'rejection'=>0,'adopt'=>1)
);
這樣是不是怎麼合並都簡單了呢
❼ php中,合並一個數組里相同的值。
直接用array_unique()函數即可
$arr=['0006','0006','0005'];
print_r($arr);//Array([0]=>0006[1]=>0006[2]=>0005)
$arr=array_unique($arr);
print_r($arr);//Array([0]=>0006[2]=>0005)
❽ php 把帶相同值的兩個數組合並成一個如事例
沒太明白你的意思,不過這三個函數應該有一個適合你的
array_combine(array1,array2)
array_merge(array1,array2,array3...)
array_merge_recursive(array1,array2,array3...)
❾ php數組根據某鍵值,把相同鍵值的合並最終生成一個新的二維數組
1、新建php文件。
❿ php將兩個二維數組按具有相同值合並
開始 - 運行輸入msconfig,回車,進入系統配置,點擊:引導 - 高級選項,在處理器個數處,點擊勾選4,確定,重啟電腦。