itvisionsy/counter

简单的PHP计数器

v1.0 2016-10-04 16:09 UTC

This package is not auto-updated.

Last update: 2024-09-14 19:36:50 UTC


README

PHP的简单计数器

为什么需要

有时您需要在循环中显示计数步骤,其中循环的索引被非序列号消耗。

$workHoursLog = [
    '2016-01-01'=>10,
    '2016-01-02'=>10,
    '2016-01-03'=>8,
    //...
];

如您所见,键不是序列号,您可能想在一个表格中显示

<table>
<?php foreach($workHours as $date=>$hours): ?>
    <tr>
        <td><?= Counter::nextOrInit($i, 1) ?></td>
        <td><?= $date ?></td>
        <td><?= $hours ?></td>
    </tr>
<?php endforeach; ?>
</table>

结果将是

<table>
    <tr>
        <td>1</td>    
        <td>2016-01-01</td>    
        <td>10</td>    
    </tr>
    <tr>
        <td>2</td>    
        <td>2016-01-02</td>    
        <td>10</td>    
    </tr>
    <tr>
        <td>3</td>    
        <td>2016-01-03</td>    
        <td>8</td>    
    </tr>
</table>

如何使用

简单地,调用nextOrInit方法,并传递一个唯一变量,该变量将保存计数器对象,可选地传递第二个参数作为起始值和步长

\ItvisionSy\Counter\Counter::nextOrInit($counter,[$start=0,[$step=1]]);

或者您也可以初始化

//initiate
$counter = new Counter(0,1); 
//OR
Counter::nextOrInit($counter, 0, 1);

// get current value
echo $counter; 
//OR
echo $counter(); 
//OR
echo $counter->current();

//next step
$counter->next();
//OR
$counter(true);