PHP का intdiv() फ़ंक्शन दो पूर्णांकों का **पूर्णांक भागफल (integer quotient)** लौटाता है — यानी विभाजन का पूर्णांक भाग, शेषफल छोड़कर।
सिंटैक्स
intdiv(int $x, int $y): int
पैरामीटर्स
| पैरामीटर | विवरण |
|---|---|
$x | अंश (numerator) — विभाज्य संख्या |
$y | हर (denominator) — भाजक |
लौटाया गया मान
$x / $y का पूर्णांक भागफल। चिह्न: यदि दोनों समान चिह्न तो धनात्मक, अलग चिह्न तो ऋणात्मक।
गणितीय संबंध
यदि x = y * q + r जहां 0 ≤ |r| < |y|, तो intdiv(x, y) = q।
उदाहरण
1. अंश < हर — परिणाम 0
<?php $x = 10; $y = 3; $r = intdiv($x, $y); echo "intdiv($x, $y) = $r\n"; // 3 $r = intdiv($y, $x); echo "intdiv($y, $x) = $r"; // 0 ?>
intdiv(10,3) = 3 intdiv(3,10) = 0
2. ऋणात्मक संख्याओं के साथ
<?php $x = 10; $y = 3; echo "intdiv(10,3) = " . intdiv($x, $y) . "\n"; // 3 echo "intdiv(10,-3) = " . intdiv(10, -3) . "\n"; // -3 echo "intdiv(-10,3) = " . intdiv(-10, 3) . "\n"; // -3 echo "intdiv(-10,-3) = " . intdiv(-10, -3); // 3 ?>
intdiv(10,3) = 3 intdiv(10,-3) = -3 intdiv(-10,3) = -3 intdiv(-10,-3) = 3
3. शून्य से विभाजन — DivisionByZeroError
<?php $x = 10; $y = 0; $r = intdiv($x, $y); // Fatal error: DivisionByZeroError ?>
PHP Fatal error: Uncaught DivisionByZeroError: Division by zero
4. फ्लोट आर्गुमेंट्स — भिन्नात्मक भाग अनदेखा
<?php $x = 2.90; $y = 1.90; $r = intdiv($x, $y); echo "intdiv(2.9, 1.9) = $r"; ?>
intdiv(2.9,1.9) = 2
intdiv(2, 1) = 2 (पूर्णांक भाग उपयोग किए गए)।
intdiv() बनाम / बनाम %
| ऑपरेटर/फ़ंक्शन | उदाहरण | परिणाम | प्रकार |
|---|---|---|---|
intdiv(10,3) | 10 ÷ 3 | 3 | int |
10 / 3 | 10 ÷ 3 | 3.333... | float |
10 % 3 | 10 mod 3 | 1 | int (शेषफल) |
fmod(10,3) | फ्लोट मोड्यूलो | 1.0 | float |
उपयोग मामले
- पेजिनेशन:
$totalPages = intdiv($totalItems, $perPage) + ($totalItems % $perPage ? 1 : 0) - समय गणना:
$hours = intdiv($seconds, 3600) - सरणी चंकिंग:
$chunks = intdiv(count($arr), $chunkSize) - कोई भी स्थिति जहां पूर्णांक विभाजन चाहिए बिना फ्लोट परिवर्तन के।
PHP संस्करण
PHP 7.0+ में उपलब्ध। पुराने संस्करणों में intval($x / $y) उपयोग करें (लेकिन ऋणात्मक के लिए व्यवहार अलग हो सकता है)।