php smarty 循环遍历数组实现代码
在用循环的时候,加入二位数组中有空的数据。要怎么样才能在循环的时候过滤掉空的数据
在循环体内判断,为空就跳过本次循环不显示数据 继续之后的循环
例如:
foreach ($数组 as $value){
if (empty($value))
continue;
}
PHP代码如下
/**
@ 文章分类 含二级分类
@ param int $rootnum -- 一级分类数量
@ param int $childnum -- 二级分类数量
@ 返回值 array
@ date 2011.2.24
*/
function temp_articletreecate($rootnum,$childnum){
if(!isnumber($rootnum)){
$rootnum = 10;
}
if(!isnumber($childnum)){
$childnum = 10;
}
$category = array();
$parent_sql = "SELECT cateid,catename FROM ".TABLE_PREFIX."articlecate WHEREparentid=0 AND depth=0 AND flag=1 ORDER BY orders ASC";
if(intval($rootnum)>0){
$parent_sql.=" LIMIT $rootnum";
}
$parent_cate = $GLOBALS['db']->getall($parent_sql);
foreach($parent_cate as $parent_key => $parent_value){
//子类数组名为 childcategory 根据情况自定义名称
$category[] = array('cateid'=>$parent_value['cateid'],'catename'=>$parent_value['catename'],'childcategory'=>array());
//读取子类
$child_sql = "SELECT cateid,catename FROM ".TABLE_PREFIX."articlecate WHEREparentid=".$parent_value['cateid']." AND flag=1 ORDER BY orders ASC";
if(intval($childnum)>0){
$child_sql.=" LIMIT $childnum";
}
$child_cate = $GLOBALS['db']->getall($child_sql);
foreach($child_cate as $child_key => $child_value){
$category[count($category)-1]['childcategory'][] = array('cateid'=>$child_value['cateid'],'catename'=>$child_value['catename']);
}
}
return $category;
}
catch( Execption $e ){
MessAge('调用参失败!');
}
//php 处理与程序
tpl->assign('jsMenu_Deng', $List);
//下面为smarty模板处理foreach
<!--{foreach from=$jsMenu_Deng item=item key=key}-->
subcat[<!--{$item.i}-->] = new Array("<!--{$item.cntitle}-->","<!--{$item.upid}-->","<!--{$item.id}-->");
<!--{/foreach}-->
var onecount=<!--{$item.i}-->;
//其实很简单就是把数据用php保存到数据,然后再由smarty foreach 来实现。
您可能感兴趣的文章:
smarty获得当前url示例代码
php smarty 基础
有关smarty的基本设置
php遍历数组的几种方法(for foreach list each while)
PHP遍历文件和文件夹的小例子
php数组循环输出实现方法
smarty模板中类似for循环功能的实现代码
php数组遍历方法详解(for foreach list each key)
php遍历数组list foreach each方法实例
php数组入门教程之数组遍历