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>
';
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· AI与.NET技术实操系列(六):基于图像分类模型对图像进行分类