dashifen/modcount

一个重复产生一系列数字的对象

1.0.3 2019-11-30 20:41 UTC

This package is auto-updated.

Last update: 2024-09-29 05:14:35 UTC


README

有时,你可能需要一种方法来生成一个从零到某个数N重复的数字序列。主要用途是在需要反复访问数组时。

用法

$modcount = new Modcount(3);
echo $modcount->count();        // produces 0
echo $modcount->count();        // produces 1
echo $modcount->count();        // produces 2
echo $modcount->count();        // produces 0
echo $modcount->count();        // produces 1

如果你更喜欢这样做,也可以这样操作

$modcount = new Modcount(3);
echo $modcount();
echo $modcount();
echo $modcount();

那么,我为什么使用这个呢?

可能除了Dash之外没有人会使用它。没关系,他喜欢它。他的主要需求是循环重复打印HTML表格单元格的headers属性值。

$users = $database->getUsers();
$cols  = ["id", "name", "email", "phone"];
$modcount = new Modcount(sizeof($cols));

foreach($users as $user) {
    echo '<tr>';
    
    foreach($user as $datum) {
         echo sprintf('<td headers="%s">%s</td>',
            $cols[$modcount()],
            $datum);
    }
    
    echo '</tr>';
}

这是一个不好的例子,因为使用内部foreach循环的循环索引可以达到同样的效果,但更复杂的情况可能会出现,使得这个对象很有用。