Что означает знак процента в PHP?

Что именно это значит?

$number = ( 3 - 2 + 7 ) % 7; 

    Это, как уже упоминалось, оператор модуля , который возвращает оставшуюся часть операции деления.

    Примеры: 3%5 возвращает 3, а 3 делится на 5 равно 0 с остатком 3.

    5 % 10 возвращает 5, по той же причине 10 переходит в 5 нулевых времен с остатком 5.

    10 % 5 возвращает 0, так как 10 делений на 5 идет ровно 2 раза без остатка.

    В примере, который вы опубликовали, (3 - 2 + 7) работает до 8, давая вам 8 % 7 , поэтому $number будет равно 1 , что составляет 8/7.

    Это оператор модуля :

    $a % $b = Остаток $a деленный на $b .

    Он часто используется для получения «одного элемента каждые N элементов». Например, чтобы получить только один элемент из трех элементов:

     for ($i=0 ; $i<10 ; $i++) { if ($i % 3 === 0) { echo $i . '<br />'; } } 

    Что получает этот вывод:

     0 3 6 9 

    (Да, хорошо, $i+=3 сделал бы трюк, но это была просто демонстрация.)

    Это оператор модуля . В выражении $a % $b результатом является остаток, когда $a делится на $b

    Используя этот оператор, можно легко рассчитать нечетные или четные дни в месяце, например, если это необходимо для расписания или чего-то еще:

     <?php echo (date(j) % 2 == 0) ? 'Today is even date' : 'Today is odd date'; ?> 

    Поскольку так много людей говорят, что «модуль находит оставшуюся часть дивизора», давайте начнем с определения того, что такое остаток.

    В математике остаток – это сумма, «оставшаяся» после выполнения некоторых вычислений. В арифметике остаток – это целое число «слева» после деления одного целого на другое, чтобы получить целочисленное частное (целочисленное деление).

    См .: http://en.wikipedia.org/wiki/Remainder

    Таким образом, модуль – это простой способ спросить: «Сколько делителя осталось после деления?»

    Чтобы использовать вычисление ОП (3 - 2 + 7) = 8 % 7 = 1 :

    Его можно разбить на:

     (3 - 2 + 7) = 8 8 / 7 = 1.143 #Rounded up .143 * 7 = 1.001 #Which results in an integer of 1 

    7 может войти в 8 1 раз с .14 из 7 оставшихся

    Вот и все. Надеюсь, это поможет упростить работу модуля.


    Дополнительные примеры с использованием разных делителей с 21.

    Разбивка 21 % 3 = 0 :

     21 / 3 = 7.0 3 * 0 = 0 

    (3 могут перейти в 21 7 раз с 0 из 3 оставшихся)

    Разбивка 21 % 6 = 3 :

     21 / 6 = 3.5 .5 * 6 = 3 

    (6 могут пойти в 21 3 раза с .5 из 6 оставшихся)

    Распределение 21 % 8 = 5 :

     21 / 8 = 2.625 .625 * 8 = 5 

    (8 могут перейти в 21 2 раза с 0,625 из 8 оставшихся)

    % означает модуль.

    Модуль – это причудливое название «остаток после деления» в математике.

     (numerator) mod (denominator) = (remainder) 

    В PHP

     <?php $n = 13; $d = 7 $r = "$n % $d"; echo "$r is ($n mod $d)."; ?> 

    В этом случае этот скрипт будет эхом

     6 is (13 mod 7). 

    Где $r для остатка (ответ), $n для числителя и $d для знаменателя. Оператор модуля обычно используется в криптографии с открытым ключом из-за его особой характеристики как односторонней функции .