3

私が求めている数学用語はよくわかりませんが、PHP で変数を 3 の倍数である整数に割り当てる方法を探しています。倍数は、1、2、3 の数字から始まります。すべての整数は、3 つの変数$varA$varBおよびのいずれかに該当し$varCます。モジュラス演算子を使用する必要があると思いますが、方法がわかりません。

$varA数字 1、4、7、10、13、16、19 など
$varBを含むことができます 数字 2、5、8、11、14、17、20などを
$varC含むことができます 数字 3、6、9、12、15、18 を含むことができます、21など

次のようなifステートメントから番号を割り当てたい:

if( $number == (test for $varA) ) {
    $number = $varA
} else if( $number == (test for $varB) ) {
    $number = $varB
} else {
    $number = $varC
}
4

1 に答える 1

18

はい、モジュロ (モジュラスではない) 演算子が必要です。これを 3 で割った余りが 0、1、2 のいずれかになります。

最初のテストは次のようになります。

if ($number % 3 == 1)

一度だけ評価して、switch ステートメントで使用したい場合があります。以下の他の David コメントのように、これはわずかに効率的です。

switch ($number % 3) {
    case 1:
        $number = $varA;
        break;
    case 2:
        $number = $varB;
        break;
    case 0:
        $number = $varC;
        break;
}
于 2013-05-18T10:01:04.257 に答える