求助如何定义一个变量$class的值第一个调用为空,第二个调用为bg2,第三调用个为空,第四个调用为bg2,这样的循环

解决方案 »

  1.   

    $class = array('bg2','');
    for ($i=1;$i<9;$i++) {
    echo $i.':'.$class[$i%2]."\n";
    }
      

  2.   

    for($i = 0; $i < 4; ++$i)
    {
    echo Foo::getValue(), '<br/>';
    }class Foo
    {
    private static $flag = false; public static function getValue()
    {
    if(self::$flag = !self::$flag) return 'bg2';
    else return NULL;
    }
    }
    输出:
    bg2bg2
      

  3.   

    我是要放在HTML模板里使用的请问怎么调用????
      

  4.   

    <div class="list_module {$class}">
    就是这个{$class}的值谢谢楼上两位大哥的回答,但不会用
      

  5.   

    类似于这样
    $class = array('','bg2');
    $value = $class[rand(0, (count($array) - 1))];但这样写$value值只是第一个空,不能循环两个轮着
      

  6.   

    你输出<div class="list_module {$class}">的时候总应该有个循环或者顺序号什么的,就算一下其顺序的奇偶,用数组也行用if...else...也行
      

  7.   

    static $i = 0 ;$value = $i%2 == 1 ? 'bg2' : ' ';$i++;
    把$value传到模板
      

  8.   

    class style {
      var $default = 'bg2';
      var $value = 'bg2';
      function __tostring() {
        if($this->value == $this->default) return $this->value = '';
        return $this->value = $this->default;
      }
    }
    $class = new style;
    echo <<< HTML
    <div class="list_module{$class}"> 
    <div class="list_module{$class}"> 
    <div class="list_module{$class}"> 
    <div class="list_module{$class}"> 
    <div class="list_module{$class}"> 
    HTML;
    <div class="list_module"> 
    <div class="list_modulebg2"> 
    <div class="list_module"> 
    <div class="list_modulebg2"> 
    <div class="list_module"> 
      

  9.   

    楼主是在用smarty吗?
    如果是的话smarty里有现成的方法——{cycle}。
    模板:
    <div class="{cycle values="bg1,bg2"}"></div>
    <div class="{cycle values="bg1,bg2"}"></div>
    <div class="{cycle values="bg1,bg2"}"></div>
    输出:
    <div class="bg1"></div>
    <div class="bg2"></div>
    <div class="bg1"></div>