Modulo Operator
Coddy PHP 여정의 기초 섹션에 포함된 레슨 — 71개 중 16번째.
나머지 연산자(%)는 나눗셈 후의 나머지를 반환합니다. 한 숫자를 다른 숫자로 나눌 때, 나머지 연산은 남은 값을 결과로 줍니다.
<?php
echo 10 % 3; // 출력: 1
?>여기서 10을 3으로 나누면 몫은 3이고 나머지는 1입니다. 나머지 연산자(modulo operator)는 그 나머지를 반환합니다.
나머지 연산(modulo)의 일반적인 용도는 숫자가 짝수인지 홀수인지 확인하는 것입니다. 2로 나눌 때 가능한 나머지는 0 또는 1뿐입니다. 따라서 숫자를 2로 나누었을 때 나머지가 없으면 짝수이고, 나머지가 1이면 홀수입니다:
<?php
$number = 8;
echo $number % 2; // 출력: 0 (짝수)
$number = 7;
echo $number % 2; // 출력: 1 (홀수)
?>이것은 2로 나누었을 때 나머지가 항상 0 또는 1이기 때문에 짝수/홀수 확인에만 작동합니다. 다른 제수의 경우, 나머지는 0부터 제수보다 1 작은 값까지 어떤 값이라도 될 수 있습니다.
패턴을 이해하는 데 도움이 되는 더 많은 예제들입니다:
<?php
echo 15 % 4; // Outputs: 3 (15 = 4*3 + 3)
echo 20 % 5; // Outputs: 0 (20 = 5*4 + 0)
$dividend = 17;
$divisor = 5;
echo $dividend % $divisor; // Outputs: 2 (17 = 5*3 + 2)
?>챌린지
쉬움입력에서 두 개의 숫자(피제수와 제수)를 읽습니다.
첫 번째 숫자를 두 번째 숫자로 나누었을 때의 나머지를 계산하고 출력하세요.
예시:
입력이 17과 5인 경우, 출력은 2가 되어야 합니다 (17 ÷ 5 = 3이고 나머지가 2이기 때문입니다).
직접 해보기
<?php
// 입력 읽기
$dividend = intval(fgets(STDIN));
$divisor = intval(fgets(STDIN));
// TODO: 나머지를 계산하기 위해 아래에 코드를 작성하세요
// 결과 출력
echo $remainder;
?>이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4Comparison & Logical Operators
Comparison OperatorsEquality & IdentityLogical Operators Part 1Logical Operators Part 2Recap - Simple Logic2Variables and Data Types
NumbersStrings and QuotesBooleansNaming ConventionsRecap - Variable InitEmpty VariablesString ConcatenationGetting User InputCast to Different Types3Basic Operators
Arithmetic OperatorsModulo OperatorExponentiation OperatorCombined AssignmentIncrement/DecrementOperator PrecedenceRecap - Simple CalculationsString Operators