PHP正则表达式相当于nth-child

时间:2015-12-12 22:20:53

标签: php css regex

我需要通过它们的位置识别数组中的一些对象,并且我正在努力学习逻辑。我正在寻找 PHP等效nth-child(5n + 1)作为条件,从而导致循环中位置0, 5, 10, et al.内的对象。

从逻辑上讲,除以5可能是最简单的,并寻找整数,例如0/5 = 0 pass1/5 = .2 fail5/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
}

2 个答案:

答案 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";
   }
}