㈠ php 二维数组根据条件合并
functionmergById($arr1,$arr2,$id){
$tmp=array();
foreach($arr2as$record){
$tmp[$record[$id]][]=$record;
}
$arr3=array();
foreach($arr1as$record){
$arr3[]=$record;
if(isset($tmp[$record[$id]])){
foreach($tmp[$record[$id]]as$sameIdRecord){
$arr3[]=$sameIdRecord;
}
}
}
return$arr3;
}
㈡ PHP递归二维数组怎样一步到位拼接
foreach 遍历圈套循环也是可以 但是在数据上要做区分 主要做出符合自己逻辑的比较便利
㈢ php二维数组拼接问题
$arr1=array(
array("date"=>"2016-08-01","Name"=>"Mike","Age"=>18),
array("date"=>"2016-08-02","Name"=>"Bob","Age"=>21),
array("date"=>"2016-08-03","Name"=>"Cindy","Age"=>19)
);
$arr2=array(
array("date"=>"2016-08-01","Address"=>"Zhejiang"),
array("date"=>"2016-08-03","Address"=>"Shanghai")
);
$arr3=array(
array("date"=>"2016-08-01","Sex"=>"Male"),
array("date"=>"2016-08-02","Sex"=>"Female"),
array("date"=>"2016-08-03","Sex"=>"Female")
);
functionmerge($arr1,$arr2=[]){
foreach($arr1as$k=>$v){
if(!isset($arr2[$v['date']])){
$arr2[$v['date']]=array(
'date'=>$v['date'],
'Name'=>'',
'Address'=>'',
'Sex'=>'',
);
}
if(isset($v['Name'])){
$arr2[$v['date']]['Name']=$v['Name'];
}
if(isset($v['Address'])){
$arr2[$v['date']]['Address']=$v['Address'];
}
if(isset($v['Sex'])){
$arr2[$v['date']]['Sex']=$v['Sex'];
}
}
return$arr2;
}
$arr=merge($arr1);
$arr=merge($arr2,$arr);
$arr=merge($arr3,$arr);
print_r($arr);//合并后的key值和你的需求不太一致
㈣ php 2个二维数组合成一个2维数组,条件是lid=id的合并
按照你的要求合并两个二维数组的PHP程序如下
<?php
$arr1 =array(array('lid' => 67, 'title' => 'T恤'), array('lid' => 27, 'title' => '衬衣'));
$arr2 =array(array('id' => 67, 'url' => '.com'), array('id' => 27, 'url' => 'jd.com'));
$result=array();
for($i=0;$i<count($arr1);$i++){
$result[$i]=$arr1[$i];
for($j=0;$j<count($arr2);$j++){
if ($arr1[$i]['lid']==$arr2[$j]['id']){
$result[$i]['url'] = $arr2[$j]['url'];
}
}
}
print_r($result);
?>
㈤ php二维数组合并
代码:
<?php
$arr=array(
array('cat_id'=>10,'num'=>3),
array('cat_id'=>20,'num'=>4),
array('cat_id'=>30,'num'=>5),
array('cat_id'=>40,'num'=>3),
array('cat_id'=>50,'num'=>5)
);
$new_arr=array();
foreach($arras$value){
if($value['num']===3){
$new_arr[]=$value;
}
}
var_mp($new_arr);
?>
截图:
㈥ PHP二维数组合并
用 foreach();
例如:
$arr1=Array ( [房产] => Array ( [field11] => 中介 [field12] => 个人 [field13] => 商业 ) )
$arr2=Array ( [地产] => Array ( [field21] => 地产中间 [field22] => 开发商 [field23] => 业主 ) )
foreach($arr2 as $k=>$v){
$arr1[$k]=$v;
}
print_r($arr1);
㈦ php 怎样把一个二维数组合并一个数组
array_merge
array_merge — 合并一个或多个数组
array array_merge ( array $array1 [, array $... ] )
array_merge() 将一个或多个数组的单元合并起来,一个数组中的值附加在前一个数组的后面。返回作为结果的数组。
如果输入的数组中有相同的字符串键名,则该键名后面的值将覆盖前一个值。然而,如果数组包含数字键名,后面的值将不会覆盖原来的值,而是附加到后面。
如果只给了一个数组并且该数组是数字索引的,则键名会以连续方式重新索引。
㈧ php:根据条件合并二维数组
mergById($arr1, $arr2, $id){ $tmp = array(); foreach($arr2 as $record){ $tmp[$record[$id]][] = $record; } $arr3 = array(); foreach($arr1 as $record){ $arr3[] = $record; if(isset($tmp[$record[$id]])){ foreach($tmp[$record[$id]] as $sameIdRecord){ $arr3[] = $sameIdRecord; } } } return $arr3;}
㈨ 如何取出二维数组中的不重复元素并进行拼接php
$data1_arr=array(
0=>array('部门ID'=>3,名字=>张三),
1=>array('部门ID'=>3,名字=>李四),
2=>array('部门ID'=>2,名字=>王五),
3=>array('部门ID'=>1,名字=>黄儿)
);
$ret_arr=array();
foreach($data1_arras$key=>$val_arr){
if(!isHas($val_arr)){
continue;
}
$ret_arr[]=$val_arr;
}
print_r($ret_arr);
functionisHas($arr){
global$ret_arr;
foreach($ret_arras$val_arr){
if($val_arr['部门id']==$arr['部门ID']){
returnfalse;
}
}
returntrue;
}