1

以下の例のように、設定された範囲内の数値の加算と減算をどのように行い、どちらがループバックするのか疑問に思っています。

範囲: 1 - 10

したがって、7 という数字に 5 を足すと、数字は 2 になります。

8、9、10、1、2 にループします。

引いても同じで、3 があり、4 を引くと 9 が残ります。

2、1、ループして 10、9 に戻る

これが理にかなっていることを願っています。

ありがとう。

4

6 に答える 6

2

% 演算子を使用できます。

割った余りを計算します。

例えば:

$d = 10;

$x = 7;

$y = 5;

echo ($x + $y) % $d;

与える2;

負の値を使用すると、MINUS を削除できます

于 2012-04-05T10:25:30.750 に答える
0

これを試して:

$range = range(1,10);
$min = min($range);
$max = max($range);

function operate( $a, $b, $operation ) {
    global $max, $min;

    switch( $operation ) {
        case '+':
            $a += $b;
            break;
        case '-':
            $a -= $b;
            break;
    }

    if( $a < $min ) {
        return $max + $a;
    } else if( $a > $max ) {
        return $a - $max;
    }
}

それが役に立てば幸い。

于 2012-04-05T10:30:41.897 に答える
0

モジュラス演算子を使用します。

result = (a + b) % 10;
于 2012-04-05T10:25:24.240 に答える
0

次のようなコードでこれを行うことができます

$range = array('from' => 3, 'to' => 13);
$dist = $range['to'] - $range['from'];
$a = 7;
$b = 14;

echo ($dist + ($a % $range['to'] - $b % $range['to'])) % $dist; // $a - $b
echo ($dist + ($a % $range['to'] + $b % $range['to'])) % $dist; // $a + $b
于 2012-04-05T11:06:01.533 に答える
0

(7+5)%10 = 2 のようなモジュロ関数を使用できます

于 2012-04-05T10:25:36.477 に答える