当迭代循环时,我在if
语句中使用了模数运算符来非常容易地得到nth
结果:
// Get 5th item in series
if ($variable->array_item % 5 == 0) {
echo $variable->array_item;
}
如何获得偏移量为3的系列中的第5项(即3,8,13,18,23等)?
我已经看过几种方法,但我正在寻找一个规范的答案,我真的不会在S.O.上看到一个。现在。
答案 0 :(得分:2)
您的代码专门请求可被5整除的数字,而您想要的是数字3,8,13,18,23等。这很容易使用几乎完全相同的代码:
// set up some test data
$testArray = [];
for ($i = 1; $i <= 30; ++$i) {
$testArray[$i] = "Testing {$i}";
}
// here's where the actual work happens
foreach ($testArray as $key => $value) {
if ($key % 5 == 3) { // <-- note 3, not 0
echo "Found $value\n";
}
}
答案 1 :(得分:1)
$iterator = 0;
$step = 3;
while($iterator < count($collection))
{
echo $collection[$iterator]
$iterator += $step
}