PHP - 将数字1-3分配给无限的数字序列

时间:2011-03-14 16:36:57

标签: php math

确定。基本上我想将数字1-3分配给PHP中无限的数字级数。我该怎么做?

我想分配如下。

核心 - 1.补充 - 1。

核心 - 2.补充 - 2。

核心 - 3.补充 - 3.

核心 - 4.补充 - 1。

核心 - 5.补充 - 2。

核心 - 6.补充 - 3.

核心 - 7.补充 - 1。

干杯

4 个答案:

答案 0 :(得分:3)

您可以使用modulo operation

$num = ($index % 3) + 1

将始终返回1到3之间的数字。

答案 1 :(得分:1)

听起来像基本模数函数。

模数被定义为除法的余数,并使用百分号在PHP中指定。

示例代码:

<?php
for($loopcount = 1; $loopcount<=$max; $loopcount++) {
    print "Counter: ".$loopcount." ... Counter mod 3: ".($loopcount % 3)."<br />\n";
}
?>

会给你一个0,1,2,0,1,2等的序列。只需在mod结果中加1即可获得1,2,3,1,2,3等。

所以要完全按照你的要求生产:

<?php
for($loopcount = 1; $loopcount<=$max; $loopcount++) {
    print "Core - ".$loopcount.". Supplement - ".(($loopcount % 3)+1).".<br />\n";
}
?>

请参阅PHP手册:http://www.php.net/manual/en/language.operators.arithmetic.php

答案 2 :(得分:0)

你可以使用while循环:

$arrayNum = array(); //aray of numbers
$max_number = 100; //max of numbers (you can set this to any value)
$i = 0;

while($i < $max_number) {
   $arrayNum[$i] = ($i % 3) + 1; // the +1 ensures that none = 0
   echo "Core - $i. Supplement - {$arrayNum[$i]}"; //echo result
   $i ++;
}

答案 3 :(得分:0)

$supplement = 1;
$coreMax = 10;

for ($core = 1; $core <= $coreMax; $core++){
    echo "Core - $core. Supplement - $supplement".
    $supplement++;
    if ($supplement > 3){
        $supplement = 1;
    }
}