如何给 一个数组 增加 关联数组 中的 属性

	$art_id 是关联表的id,关联表一共有3个字段,分别是 id,type_id,uid ,
	发布文章的时候根据 type_id 的不同插入不同的数据表,
	用id 来进行关联,文章表的art_id
	
	也代表,$art_id 是一条数据的唯一标识
	
	$art_id = $data2['art_id'];
	//获取评论总数
	$num = DB::name('comment')->where('art_id',$data2['art_id'])->count(); 
 	$this->assign('num',$num); 
 	$data4=array(); 
 	// 这种方法得到评论列表所有的评论
 	$data4 = $this->getCommlist();
 	
 	// 这个方法 把 将某个键值相同的合并到一个数组中,再取其中 art_id 为 当前 art_id  的
 	$result =   array();
	foreach($data4 as $k=>$v){
	    $result[$v['art_id']][]    =   $v;
	} 

	$arr = array();
	foreach($result as $val)  // 此时的$val就是$result同 art_id的一个大数组,我要的就是这个,然后获得它的art_id 属性 值 等于 当前 art_id 的数组
	{
			foreach($val as $v)
			{
				if($v['art_id'] == $art_id)  
				{
					// echo '<hr>';  
					$arr = $val;
				}
			}
	}
	
	// 最后 把 $img 的用户头像 属性,增加到 $arr数组里
 	$uids = array();
 	foreach($arr as &$v)
	{
		$img = DB::name('user')->where('id',$v['uid'])->find();  
		$v['touxiang'] = $img['touxiang'];
		foreach($v['children'] as &$n)
		{
			$img2 = DB::name('user')->where('id',$n['uid'])->find();  
			$n['touxiang'] = $img2['touxiang'];
			foreach($n['children'] as &$f)
			{
				$img3 = DB::name('user')->where('id',$f['uid'])->find();  
				$f['touxiang'] = $img3['touxiang'];
			}

		}
	}
 	//获取评论列表 
 	$this->assign("commlist",$arr);     

猜你喜欢

转载自blog.csdn.net/qq_39835505/article/details/85104698