PHP - присвоить числа 1-3 бесконечной последовательности чисел - PullRequest
1 голос
/ 14 марта 2011

Хорошо.В основном я хочу присвоить числа 1-3 бесконечной последовательности чисел в PHP.Как мне это сделать?

Я хочу назначить следующим образом.

Ядро - 1. Дополнение - 1.

Ядро - 2. Дополнение - 2.

Ядро - 3. Дополнение - 3.

Ядро - 4. Дополнение - 1.

Ядро - 5. Дополнение - 2.

Ядро - 6. Дополнение- 3.

ядро ​​- 7. Дополнение - 1.

и т. Д.

ура

Ответы [ 4 ]

3 голосов
/ 14 марта 2011

Вы можете использовать по модулю операции :

$num = ($index % 3) + 1

всегда будет возвращать число от 1 до 3.

1 голос
/ 14 марта 2011

Звучит как базовая функция модуля.

Модуль определяется как остаток от деления и указывается в PHP с использованием знака процента.

пример кода:

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

даст вам последовательность 0,1,2,0,1,2 и т. Д. Просто добавьте 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

0 голосов
/ 14 марта 2011
$supplement = 1;
$coreMax = 10;

for ($core = 1; $core <= $coreMax; $core++){
    echo "Core - $core. Supplement - $supplement".
    $supplement++;
    if ($supplement > 3){
        $supplement = 1;
    }
}
0 голосов
/ 14 марта 2011

Вы можете использовать цикл 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 ++;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...