1. 程式人生 > >如何給 一個數組 增加 關聯陣列 中的 屬性

如何給 一個數組 增加 關聯陣列 中的 屬性

	$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);