PHP开发中三维数组的应用

三维数组我们很少用到,这次用到三维数组一起分享一下。

使用需求:

在做一个C2C,B2C模式的房地产网站,因为每个楼盘都会有很多户类别,每个户型类别下面会有好几种不同的户型。

这些户型的名称是单独和每个楼盘相关的,不同的楼盘户型名称不同,户型类别下的户型名称也各不同。

这样为了在后台能够方便添加。我们设立了一个自定义字段,这个字段专门来记录该楼盘的户型。

例如:户型A,户型B,户型C,户型D

因为户型A下面会有很多户型,那么户型户型的描述

 

//小区户型图
$boroughDrawList = $borough->getImgList($id,1);

$huxingArr=array();
$huxingString='';

if($boroughInfo['huxing'])

 $huxingString=explode(',',str_replace(',',',',trim($boroughInfo['huxing'])));
}

$arrContainer=array();
//定义和户型相同个数空数组容器
for($a=0;$a<count($huxingString);$a++){
 $arrContainer[$a]=array();
}

//对该数组容器进行装填
for($h=0;$h<count($boroughDrawList);$h++){
 $hx=explode(',',str_replace(',',',',trim($boroughDrawList[$h]['pic_desc'])));
 $keyArr=array_search($hx[0],$huxingString);
 if($keyArr===0||$keyArr){
  $arrContainer[array_search($hx[0],$huxingString)][]=array('title'=>$hx[1],'pic_thumb'=>$boroughDrawList[$h]['pic_thumb'],'pic_url'=>$boroughDrawList[$h]['pic_url']);
 }
}

 
//户型字符串的输出
$venusHx='';
for($m=0;$m<count($huxingString);$m++){
 $hxyz=($m===0)?' selected':'';
 $venusHx.='<a class="d_t '.$hxyz.'">'.$huxingString[$m].'</a>';
 
}
$page->tpl->assign('venusHx',$venusHx);

//数组容器的释放和赋值
$venusString='';
for($v=0;$v<count($arrContainer);$v++){
 $dis=($v>0)?' style="display:none"':'';
 $venusString.='<ul class="floatimg" '.$dis.'>
 ';
 
 for($k=0;$k<count($arrContainer[$v]);$k++){
  $venusString.='<li style="float:left"><div class="textbg"></div>
   <div class="text">'.$arrContainer[$v][$k]['title'].'</div>
   <a  rel="example_group" href="'.$cfg['url'].'upfile/'.$arrContainer[$v][$k]['pic_url'].'"  title="'.$arrContainer[$v][$k]['title'].'"><img width="200" height="150" alt="'.$arrContainer[$v][$k]['title'].'" src="'.$cfg['url'].'upfile/'.$arrContainer[$v][$k]['pic_thumb'].'"></a>
</li>
';
 }
 
 $venusString.='</ul>
 ';
}

posted on 2013-01-14 10:59  程序员李铁牛  阅读(433)  评论(0编辑  收藏  举报