我需要每5次在for子句
上循环从数组中获取一个项目我的数组
$myArray = array( 1 => 'element 1', 2 => 'element 2', 3 => 'element 3' );
my for loop
for ($i=1; $i<=50; $i++) {
echo "echo this each time ";
if ($i%5 === 0) $myitem = next($myArray);
echo "echo my array item every 5 times " .$myitem;
// but starting again from first if i reach the end of array
}
如果我到达目的地,我需要获得数组中的第一项
答案 0 :(得分:1)
我不知道为什么你需要这个,但这样的事情应该有效:
$fancyvarname = 0;
for ($i=1; $i<=50; $i++) {
echo "echo this each time ";
if ($i%5 == 0){
$myitem = $myArray[$fancyvarname % count($myArray)];
$fancyvarname++;
echo "echo my array item every 5 times " .$myitem;
}
}
编辑:你注意到 === 而不是 == 吗?
答案 1 :(得分:0)
您可以尝试:
if ($i % sizeof($myArray) === 0 ) reset($myArray);
答案 2 :(得分:0)
for $i=0; $i<50; $i++) {
if ($i%5===0) echo "...5 times ".$myArray[$i%count($myArray)];
}
当然你可以在循环外部使用count()来节省一些cpu时间