我有这样的代码来计算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个行李的时候。知道这个号码怎么取吗?
为什么不只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代码封装到这个标签中,它的可读性要高得多,而且工作原理也是一样的。
有一个计数函数。
$length = count($images);
很简单,就这样做:
<?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:对于那些对我的答案投了反对票的人,我保留了用户的编码方式,原因有两个(我认为很明显):
- 他可能真的需要
foreach()
- 他可能是PHP的新手,如果迭代器方法(
$i = 1; $i++
)是他所知道的,他应该坚持使用它,直到发现新的东西。这是一种继承自C、Pascal和其他"老"得多的编程语言的算法方法
当然,count()
方法更快,而且在后面的痛苦也更小,但这不是一种为beginer编写代码的坏方法。
希望这能有所帮助!:D