- Remainder
9 % 2 = 1
Check Odd Number in PHP
What you’ll learn
- What “odd” means when you divide by two (leftover of one for nonnegative integers).
- A tiny
isOddhelper usingn % 2 != 0, plus printing odds between 1 and 10. - A live preview and why zero is not odd.
Tutorial sections
Overview
Odd numbers are the other half of the number line alongside evens: if splitting a pile into two equal whole rows leaves exactly one left over, the count is odd. In PHP you detect that with the remainder of division by 2.
Two programs
One value (15) and a fixed range 1–10.
Live preview
Type an integer; see odd vs not odd with the same rule as the PHP samples.
Plain facts
Zero is even, so it fails the “odd” test—by design.
Prerequisites
The modulo operator %, if, and for loops.
- Basic PHP syntax,
echo, and small helper functions. - Knowing that division can leave a remainder (that is what
%gives you).
What is an odd number?
For counting numbers 1, 2, 3, …, an integer is odd when it is not divisible by 2 without remainder. Practically: divide by two; if there is a leftover unit, the number is odd (1, 3, 5, 7, …).
In code you rarely prove it with words; you ask PHP for the remainder using %.
Remainder mod 2
Odd integers are those congruent to 1 modulo 2 (in the usual nonnegative story). Even integers are congruent to 0. So “odd” and “even” chop the integers into two teams.
1515 = 2 · 7 + 1, remainder 1 when divided by 2—odd.
Quick examples
- Remainder
8 % 2 = 0
Takeaway: same symbol %, opposite branch from the even-number lesson.
Live preview
Uses JavaScript safe integers. The rule matches the PHP idea: odd when n % 2 !== 0.
Algorithm
Goal: return true iff n is not divisible by 2 (equivalently, remainder nonzero).
Compute n % 2
If the remainder is not 0, treat n as odd (for typical beginner nonnegative inputs this is simply remainder 1).
Range scan
Loop from start to end; print values that pass the odd test.
📜 Pseudocode
function isOdd(n):
return (n mod 2) != 0
function printOddsInRange(start, end):
for i from start to end:
if isOdd(i):
output in % 2 != 0
Helper returns 1 or 0 in PHP; matches the classic interview style with 15.
<?php
function isOdd(int $number): bool
{
return $number % 2 != 0;
}
$number = 15;
if (isOdd($number)) {
echo $number . " is an odd number.\n";
} else {
echo $number . " is not an odd number.\n";
}
?>Explanation
isOdd is true when there is any nonzero remainder mod 2. Change number to experiment (14 prints the else branch).
Odds in [1, 10]
Same idea as the reference: walk the range and print 1 3 5 7 9.
<?php
function printOddNumbersFrom1To10(): void
{
echo "Odd numbers in the range 1 to 10:\n";
for ($i = 1; $i <= 10; $i++) {
if ($i % 2 != 0) {
echo $i . " ";
}
}
echo "\n";
}
printOddNumbersFrom1To10();
?>Explanation
You could also loop for (i = 1; i <= 10; i += 2) for odds only—fewer iterations, same printed line when start is odd.
Notes
Step by two. To list only odds in [start, end], advance i by 2 after aligning start to the next odd if needed.
Bit trick. (n & 1) != 0 detects odd integers on two’s complement; prefer % until you are comfortable.
Interview: mention that 0 is even, and that isOdd and isEven partition the integers.
❓ FAQ
🔄 Input / output examples
Swap number in Example 1 or extend Example 2 with parameters start and end if you want a flexible range.
| n | Odd? |
|---|---|
0 | No (even) |
15 | Yes |
22 | No |
-5 | Yes (not divisible by 2) |
Edge cases
The phrase “not odd” includes evens and zero—do not confuse “not odd” with “even and positive.”
n = 0
0 % 2 == 0, so isOdd(0) is false.
Signed integers
Odd negatives still satisfy n % 2 != 0 in PHP; the printed remainder may differ by language details for negatives, but the inequality test still works in PHP.
i <= end
Keep both endpoints when the problem says “from 1 to 10” inclusively.
⏱️ Time and space complexity
| Operation | Time | Extra space |
|---|---|---|
isOdd(n) | O(1) | O(1) |
Range [a, b] | O(b - a + 1) | O(1) |
| Step-by-two odd loop | half as many iterations | O(1) |
No heap allocation is required for these snippets.
Summary
- Test:
n % 2 != 0(or(n & 1) != 0once you are ready). - Zero is even, so it is not odd.
- Ranges: reuse the same test inside a
forloop.
Every whole number is either even or odd—never both, never neither. Zero is even, so the test n % 2 != 0 correctly says zero is not odd.
8 people found this page helpful
