➕ PHP Operators
Estimated reading: 2 minutes 288 views

PHP Integer Division with intdiv() – Full Guide & Examples


Introduction – Why Integer Division Matters

In many applications — such as pagination, even distribution, or splitting tasks — you may want to divide numbers and discard the decimal. This is where PHP’s intdiv() function comes in handy.

Instead of using regular division (/), which returns a float, intdiv() performs mathematical integer division, returning the result as an integer.

In this guide, you’ll learn:

  • What intdiv() is and how it works
  • The difference between /, %, and intdiv()
  • Examples with output and best practices

What is intdiv() in PHP?

The intdiv() function divides two numbers and returns only the integer part of the result, discarding any remainder.

Introduced in PHP 7.0

Syntax:

intdiv(int $numerator, int $divisor): int

Practical Examples with Explanation

1. Basic Integer Division

echo intdiv(10, 3);  // Output: 3

Explanation:
10 ÷ 3 = 3.33 → intdiv() drops the decimal → returns 3


2. Negative Values

echo intdiv(-10, 3); // Output: -3

Explanation:
Result follows the sign of the numerator, rounding toward zero.


3. Division by 1

echo intdiv(99, 1);  // Output: 99

Explanation:
Anything divided by 1 returns the number itself — remains an integer.


4. Division by 0

echo intdiv(10, 0);  // Error!

Error: DivisionByZeroError
Unlike regular / division (which returns INF for floats), intdiv() throws an exception.


intdiv() vs / vs %

OperationOutputDescription
10 / 33.3333Float division (returns float)
10 % 31Remainder only (modulus)
intdiv(10, 3)3Integer division (discards decimal)

Best Practices

  • Use intdiv() when you want integer-only results
  • Avoid floating-point math when precision matters
  • Don’t use intdiv() with zero or non-integer types
  • Handle exceptions if divisor may be zero

Summary – Recap & Next Steps

intdiv() is a fast and accurate way to divide integers when you don’t want fractions. It eliminates the need to cast or round float values and avoids floating point inaccuracies.

Key Takeaways:

  • intdiv(a, b) returns the integer quotient of a ÷ b
  • Safer and cleaner than casting or floor operations
  • Avoid dividing by zero — it will throw an error

Real-World Relevance:
Used in pagination, evenly distributing resources, tax calculations, statistical buckets, and financial systems.


Frequently Asked Questions (FAQs)

What does intdiv() do in PHP?
It divides two integers and returns only the integer part (no decimals).

Is intdiv() faster than type casting?
Yes. It’s optimized for performance and is more precise than using (int)($a / $b).

Can I use intdiv() with floats?
No. Both arguments must be integers.

What happens if the divisor is 0?
A DivisionByZeroError is thrown — you must handle it.


Share Now :
Share

➗ PHP Integer Division

Or Copy Link

CONTENTS
Scroll to Top