本文目錄一覽:
- 1、php數組根據鍵名怎麼合併呢
- 2、php數組根據某鍵值,把相同鍵值的合併最終生成一個新的二維數組
- 3、php數組合併兩個數組(一個數組做鍵名,另一個做值) **key名字可以重複
- 4、php將數組鍵值相同的數組合併數組為一個數組
- 5、php中有關合併某一字段鍵值相同的數組合併的改進
- 6、php怎麼讓這兩個相同鍵名的數據放到一起?
php數組根據鍵名怎麼合併呢
//PHP內置函數有個array_merge可以做你想要的功能
//設你的第一個數組為$arr1,第二個數組為$arr2
?php
function my_arraymerge($arr1,$arr2){
for($i=0;$icount($arr1);$i++){ //根據$arr1的長度,一個一個合併
$result = array_merge($arr1[$i],$arr2[$i]);//$result是你想要的合併後的數組
}
}
?
//此函數的缺點是必須你給出的兩個數組長度是一樣,而且鍵名都是數字,並且你要合併的順序也是要一樣才可以
php數組根據某鍵值,把相同鍵值的合併最終生成一個新的二維數組
1、新建php文件。
2、創建名為$a1的數組並為數組添加元素。
3、創建名為$a2的數組並為數組添加元素。
4、創建名為$a3的數組並為數組添加元素。
5、array_diff_assoc() 比較三個數組的鍵名和鍵值,並返回差集。
6、打印差集。
7、預覽效果如圖。
php數組合併兩個數組(一個數組做鍵名,另一個做值) **key名字可以重複
php將兩個鍵名和鍵值的數組元素合併為一個數組
你好,有兩個方法可以實現:
一:
$arry_a = array(0, 1, 2);
$arry_b = array(‘dongsir’,’董先生’,’董先生的CSDN博客’);
$arry_ab = [];
foreach ($arry_b as $key = $value) {
$arry_ab[$arry_a[$key]] = $value;
}
echo “pre”;
print_r($arry_ab);
輸出
Array
(
[0] = dongsir
[1] = 董先生
[2] = 董先生的CSDN博客
)
第二個方法:
php將兩個鍵名和鍵值的數組元素合併為一個數組
php將兩個鍵名和鍵值的數組元素合併
如果存在相同的鍵名,則可以這樣來處理,我們參照第一個方法修改一下:
$arry_a = array(“a”, “a”, “c”);
$arry_b = array(‘dongsir’,’董先生’,’董先生的CSDN博客’);
$arry_ab = [];
foreach ($arry_b as $key = $value) {
if (isset($arry_ab[$arry_a[$key]])) {
$arry_ab[$arry_a[$key]] = $arry_ab[$arry_a[$key]] . “,”. $value;
}else{
$arry_ab[$arry_a[$key]] = $value;
}
}
echo “pre”;
print_r($arry_ab);
輸出:
Array
(
[a] = dongsir,董先生
[c] = 董先生的CSDN博客
)
php將數組鍵值相同的數組合併數組為一個數組
把’huaka’改成了’huakai’似乎是一個人
?php
$a=array(
array(“username”=”piaoyudesi”,”email”=”piaoyudesi@163.com”,”address”=”shenzhen”,”item_id”=”10058″,”item_title”=”BPS8″),
array(“username”=”huakai”,”email”=”huakai@163.com”,”address”=”zhongshan”,”item_id”=”10087″,”item_title”=”BPS9″),
array(“username”=”huakai”,”email”=”huakai@163.com”,”address”=”zhongshan”,”item_id”=”10047″,”item_title”=”BPS10″),
array(“username”=”piaoyudesi”,”email”=”piaoyudesi@163.com”,”address”=”shenzhen”,”item_id”=”10042″,”item_title”=”BPS10″),
array(“username”=”jimowenxin”,”email”=”jimowenxin@163.com”,”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] = piaoyudesi@163.com
[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] = huakai@163.com
[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] = jimowenxin@163.com
[address] = zhuhai
[goods] = Array
(
[0] = Array
(
[item_id] = 10031
[item_title] = BPS18
)
)
)
)
php中有關合併某一字段鍵值相同的數組合併的改進
下面是實現代碼:
/**
**關於參數的說明
**$key鍵值相同的鍵名
**$array代表原數組
**$start代表$array[0][$key]
**$newkey代表相同鍵值相同的鍵名
**/
function
combine_same_val($array,$start,$key,$newkey){
static
$new;
foreach($array
as
$k=$v){
if($v[$key]==$start){
$new[$v[$newkey]][]
=
$v;
unset($array[$k]);
continue;
}
}
sort($array);
if(count($array)!==0){
combine_same_val($array,$array[0][$key],$key,$newkey);
}
return
$new;
}
php怎麼讓這兩個相同鍵名的數據放到一起?
1、array array_merge($arr1,$arr2,$arr3);
關聯數組,合併後鍵值不變
索引數組,鍵值從0開始重新分配
如果下標有重複,會被後面的覆蓋
2、案例
echo “br/——–數組合併———-br/”;
$arr1 = array(“name”=18,2,4,5,3);
$arr2 = array(1,2,4,5,3);
$res = array_merge($arr1,$arr2);
var_dump($res);
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/307304.html