我需要通过它们的位置识别数组中的一些对象,并且我正在努力学习逻辑。我正在寻找 PHP等效nth-child(5n + 1)
作为条件,从而导致循环中位置0, 5, 10, et al.
内的对象。
从逻辑上讲,除以5可能是最简单的,并寻找整数,例如0/5 = 0 pass
,1/5 = .2 fail
,5/5 = 1 pass
。
如果
for ($i = 0; $i < $total; $i++) {
// obviously this doesn't work because it's nonsense :)
$rhythm = preg_match(/^(\d+){N % 5 == 0}/, $i)
if ($rhythm) {
// is 0, 5, 10,
// etc
} else {
// 1, 2, 3, 4,
// 6, 7, 8, 9,
// etc
}
答案 0 :(得分:3)
正则表达式绝对是错误的工具。虽然如果你真的想要,/[05]$/
会这样做。
请尝试使用$rhythm = $i % 5 == 0;
。您可以将0
更改为另一个号码(1-4
)以执行条件的+1
部分。
答案 1 :(得分:0)
我想你也可以这样做。
for ($i = 0; $i < $total; $i+=5) {
{
// is 0, 5, 10,
// etc
array[ $i ] = "whatever05";
for ($j = 1; $j < 5; $j++ )
{
// 1, 2, 3, 4,
// 6, 7, 8, 9,
// etc
if ( ($i + $j) >= $total )
break;
array[ $i + $j ] = "whatever12346789";
}
}