Foreach - 显示项目数量

时间:2014-11-03 16:43:45

标签: php foreach

我有这个代码来计算foreach循环中的对象(图库中的图像):

<?php $images = get_field('galerie'); if( $images ): ?>
      <?php $i=1; foreach( $images as $image ): ?>
      <?php echo $i++; ?> 
      <?php endforeach; ?>   
<?php endif; ?>

所以,当我有4个项目(图片)时,它给了我

  

1 2 3 4

但我只需要最高的数字,如:

  

4

当我有4个imgages。知道我怎么得到这个数字?

3 个答案:

答案 0 :(得分:5)

为什么不只是count图像?

<?php
    $images = get_field('galerie');
    if($images && is_array($images)) { // in case get_galerie returns null or empty strings when no images...
        echo count($images);
    }
?>

此外,无需在每一行上添加<?php ... ?>个标记。

将整个PHP代码块包含在此标记中,它的可读性更高,并且工作原理相同。

答案 1 :(得分:0)

有一个计数功能。

$length = count($images);

答案 2 :(得分:-2)

这很简单,就这样做:

<?php $images = get_field('galerie'); if( $images ): ?>
  <?php $i=0; foreach( $images as $image ): ?> //$i=0 not 1
  <?php $i++; ?> 
  <?php endforeach; ?>   
  <?php echo $i; ?>
<?php endif; ?>

L.E:仅针对那些低估了我的答案的人,我让用户保持编码的方式为2(我认为很明显)原因:

  1. 他可能实际上需要foreach()
  2. 他可能是PHP的新手,如果迭代器方法($i = 1; $i++)是他所知道的,他应该坚持下去,直到他发现新的东西。这是一种继承自C,Pascal和其他很多“旧”编程语言的算法方法。
  3. 当然,count()方法速度更快,并且可以减少后台的痛苦,但这对于为初学者编码并不是一种糟糕的方式。

    希望这有帮助! :d