PHP计数器不起作用

时间:2017-01-27 12:54:02

标签: php counter

我创建了一个简短的代码,其中计数器用于计算元素,但计数器只计数到“1”,为什么?

<?php $counter = "0";?>
<?php foreach($this->group('inhalt') as $i => $fields): ?>
    <?php $counter += 1 ;?>
    <div class="ce_countup autogrid-id_<?php echo $this->id; ?>_<?php echo $counter;?> autogrid-type_cte <?php if($counter ="1"){ echo "autogrid-first";} ?> <?php if($counter =$gridKlasse){ echo "autogrid-last";} ?> <?php echo $gridKlasse;?> autogrid_mode_auto autogrid block">
        <h3 id="ce_id_<?php echo $this->id; ?>_<?php echo $counter;?>"><?php echo $this->field('zahl#'.$i)->value(); ?></h3>
        <?php echo $this->field('bezeichnung#'.$i)->value(); ?>
    </div>   
<?php endforeach; ?>

1 个答案:

答案 0 :(得分:3)

你的问题在这里

<?php if($counter ="1"){ echo "autogrid-first";} ?>

在这里

<?php if($counter = $gridKlasse){ echo "autogrid-last";} ?>

您始终使用1重新初始化$counter变量,然后对整个表达式进行布尔值评估。您应该使用=====来解决问题。此外,$gridKlasse应为数字。

试试这个:

<?php $counter = 0;?>
    <?php foreach($this->group('inhalt') as $i => $fields): ?>
    <?php $counter += 1 ;?>
    <div class="ce_countup autogrid-id_<?php echo $this->id; ?>_<?php echo $counter;?> autogrid-type_cte <?php if($counter === 1){ echo "autogrid-first";} ?> <?php if($counter === $gridKlasse){ echo "autogrid-last";} ?> <?php echo $gridKlasse;?> autogrid_mode_auto autogrid block">
        <h3 id="ce_id_<?php echo $this->id; ?>_<?php echo $counter;?>"><?php echo $this->field('zahl#'.$i)->value(); ?></h3>
        <?php echo $this->field('bezeichnung#'.$i)->value(); ?>
    </div>   
<?php endforeach; ?>
相关问题