资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

PHP开发中常用的数据排列方法

专注于为中小企业提供成都做网站、成都网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业平泉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了上千家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

>一、大小排列(冒泡排序)

主要运用于数组数字大小排序

functionmaopaoSort(&$arr){
//必须是&$arr,传一个地址,如果是$arr,根据函数调用机制,排序将无法生效
$temp=0;//中间变量
$flag=false;
//外层循环控制循环次数
for($i=0;$i//内层循环控制每一次循环的交换
for($j=0;$j//若前面的数比后面的数大,则交换
if($arr[$j]>$arr[$j+1]){
$temp=$arr[$j];
$arr[$j]=$arr[$j+1];
$arr[$j+1]=$temp;
$flag=true;
}
}
if(!$flag){
//已经是有序
break;
}
$flag=false;
}
return$arr;
}

二、构建产品参数(递归)

主要运用于商品的多个参数之间的所有组合
/*构建商品参数集*/
functionbrush($res=[],$arr=[])
{
if(empty($res))$res=(array)array_shift($arr);
if(empty($arr))return$res;
$current=array_shift($arr);#接下来要参与计算的一组属性
$last=[];
foreach($resas$row=>$row_val){#循环上一次已经算出的集合
foreach($currentas$col=>$col_val){
$last[]=$row_val.'_'.$col_val;

}
}
returnbrush($last,$arr);#递归处理,直到$arr滚到最后一组属性
}

示例:color:
Red,black
AvailableMetals:
YellowGold,WhiteGold,RoseGold,Platinum
AvailabletofittheseCenterStoneShapes:
图形1,图形2,图形3,图形4
如图:循环出所有的产品参数组合

三,树状排列

主要应用于分类排列先找出一级分类再找一级分类下的二级类以此类推

/**
*无限分类-权限
*@paramarray$cate栏目
*@paramstring$lefthtml分隔符
*@paramint$pid父ID
*@paramint$level层级
*@returnarray
*/
publicstaticfunctioncateTree($cate,$name='title',$lefthtml='|—',$pid=0,$level=0){
$arr=array();
foreach($cateas$v){
if($v['pid']==$pid){
$v['level']=$level+1;
$v['lefthtml']=str_repeat($lefthtml,$level);
$v['l'.$name]=$v['lefthtml'].lang($v[$name]);
$arr[]=$v;
$arr=array_merge($arr,self::cateTree($cate,$name,$lefthtml,$v['id'],$level+1));
}
}
return$arr;
}
当前题目:PHP开发中常用的数据排列方法
新闻来源:http://cdkjz.cn/article/ecsjip.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220