我设法找到了接近我要求的答案,但我仍然遇到问题。我的代码基于Count number of iterations in a foreach loop的答案。
基本上,我想在foreach循环中出现的列表项中添加一个类。我要添加的类是基于列表项的计数。例如,我希望out out看起来像:
<ul>
<li class="item-1"></li>
<li class="item-2"></li>
<li class="item-3"></li>
<ul>
到目前为止,我的代码如下:
<ul>
<?php $i = 0; ?>
<?php foreach($gallery as $count=>$photo): ?>
<?php $i++; ?>
<li class="item-<?php echo $count=>$photo[number]; ?>"></li>
<?php endforeach; ?>
</ul>
问题似乎是我无法使用<?php echo $count=>$photo[number]; ?>
。
非常感谢任何帮助。
答案 0 :(得分:2)
我认为你不能使用
$count => $photo[number];
特别是,由于您处于foreach循环中,“$ count =&gt;”没有必要。
由于你没有提供$ gallery数组结构,我想你要打印元素$ photo的索引$ i。
所以......希望这就是你想要做的事情:
<ul>
<?php $i = 0; ?>
<?php foreach($gallery as $count=>$photo): ?>
<?php $i++; ?>
<li class="item-<?php echo $photo[$i]; ?>"></li>
<?php endforeach; ?>
</ul>
如果您有一个关联数组,并且想要打印每个$ photo元素的'number'键:
<ul>
<?php $i = 0; ?>
<?php foreach($gallery as $count=>$photo): ?>
<?php $i++; ?>
<li class="item-<?php echo $photo['number']; ?>"></li>
<?php endforeach; ?>
</ul>
但在这种情况下,变量$ i将没有任何意义。
希望这有帮助。
答案 1 :(得分:0)
我想在循环时解释一些要点:
<ul>
<?php $i = 0; ?> //No use
<?php foreach($gallery as $count=>$photo): ?>
<?php $i++; ?> //THIS , No use
<li class="item-<?php echo $photo[number]; ?>"></li>
<?php endforeach; ?>
</ul>
首先,使用foreach函数时。您不需要使用增量变量,它已经循环遍历数组中的所有值。 foreach($array as $keys => $values)
你需要回复$key['mycolumn'] or $values
其次,只是当你使用增量变量时,最好的做法是将增量放在循环结束之前。 原因您可能会使用不合适的索引。
这应该是正确的:
<ul>
<?php $i = 0; ?> // you can remove this
<?php foreach($gallery as $count=>$photo): ?>
<li class="item-<?php echo $photo[number]; ?>"></li>
<?php $i++; ?> // increments here , you can remove this
<?php endforeach; ?>
</ul>