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 WHERE

parentid=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 WHERE

parentid=".$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;
}

php教程 smarty foreach 函数**/

  $tpl = new Smarty();
  $tpl->template_dir   = $cfg['path']['template'];
  $tpl->compile_dir    = $cfg['path']['root'] . 'www.111cn.net/111cn/';
 
  $tpl->compile_check   = $cfg['debug'];
  $tpl->debugging      = false;
  $tpl->caching       = 0;
  $tpl->cache_lifetime  = 6000;
 
  $tpl->left_delimiter  = '<!--{';
  $tpl->right_delimiter  = '}-->';

 
//配置smarty

 

  $Db = new Db();
  try{
   $query = $Db->query($sql);
   if( $Db->rows( $query ) )
   {
    $array = $Db->fetch( $query,0 );
    foreach( $array as $v =>$_v )
    {   
     $List[$v]['id'] = $_v[0];    
     $List[$v]['cntitle'] = $_v[2]; 
     $List[$v]['i'] = $i++;       
    }   
   
   }
   
  }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 来实现。

时间: 2024-11-05 12:27:42

php smarty 循环遍历数组实现代码的相关文章

js数组循环遍历数组内所有元素的方法_javascript技巧

例,for(){}遍历数组 复制代码 代码如下: <script type="text/javascript"> <!--var arr = new Array(13.5,3,4,5,6);for(var i=0;i<arr.length;i++){ arr[i] = arr[i]/2.0;}alert(arr); //--> </script> 例,for in循环遍历数组 复制代码 代码如下: <html><body>

js数组循环遍历数组内所有元素的方法

 在js中数组遍历最简单的办法就是使用for然后再利用arr.length长度作为for最大限度值即可解决了,下面我们来看看一些有用的实例 例,for(){}遍历数组  代码如下: <script type="text/javascript">  <!-- var arr = new Array(13.5,3,4,5,6); for(var i=0;i<arr.length;i++){  arr[i] = arr[i]/2.0; } alert(arr);  /

PHP循环遍历数组的3种方法list()、each()和while总结_php实例

①each()函数 each()函数需要传递一个数组作为参数,返回数组中当前元素的键/值对,并向后移动数组指针到下一个元素的位置.键/值对被返回带有4个元素的关联和索引混合的数组,键名分别为0.1.key和value.其中键名0和key对应的值是一样的,是数组元素的键名,1和value则包含有数组元素的值.如果内部指针越过了数组的末端,则each()返回FALSE.each()函数的使用如下所示: 复制代码 代码如下: <?php $contact = array("ID" =&

java中循环遍历数组操作时跳出循环问题

问题描述 java中循环遍历数组操作时跳出循环问题 在遍历数组时,对数组中的值进行比较的时候,如果不是数组内的元素要跳出循环 解决方案 可以啊,直接用break就可以跳出循环了. for (int x : arr1) { bool b = false; for (int y: arr2) { if (x == y) { b = true; break; } } if (!b) y不属于arr1 } 解决方案二: 难理解遍历数组怎么会出现不是数组的元素,实现跳出循环使用break就行了 解决方案三

js数组循环遍历数组内所有元素

例,for(){}遍历数组  代码如下 复制代码 <script type="text/javascript">  <!-- var arr = new Array(13.5,3,4,5,6); for(var i=0;i<arr.length;i++){  arr[i] = arr[i]/2.0; } alert(arr);  //-->  </script> 例,for in循环遍历数组  代码如下 复制代码 <html> &l

foreach循环遍历数组搞不懂执行顺序思路

问题描述 foreach循环遍历数组搞不懂执行顺序思路 搞不懂if判断那一块 最好有大神能给详细说明一下执行顺序 解决方案 这也没那么复杂http://blog.csdn.net/china_skag/article/details/6444727

java 中for循环遍历数组的问题

问题描述 java 中for循环遍历数组的问题 我现在定义了一个30长度的数组 但是里面是有前两个是有值的,其他的都是null 没有赋值,我用for循环查找里面的一个值是不是在这个数组里面,当这个值不在数组里面的时候 会直接抛出异常 调试模式下 我发现for循环只能循环两次 而不是数组长度 打印数组长度是30,打印数组也是前两个有值 后面都是null 解决方案 JAVA for-each循环与数组PHP循环遍历数组的3种方法list().each()和while总结遍历数组的两种写法,for循环

C#使用foreach循环遍历数组完整实例_C#教程

本文实例讲述了C#使用foreach循环遍历数组的方法.分享给大家供大家参考,具体如下: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { //声明数组. 第一种方法. 声明并分配元素大小. int[] Myint

smarty 遍历数组之foreach,section实例

1,一维数组  代码如下 复制代码     array (        "0" => 'home',        '1' => 'who',        '2'=> 'tank',        '3'=> 'what'       );      $this->tpl->assign("onearray", $this->onearray); foreach来读取  代码如下 复制代码     {foreach fr