PHP का fmod() फ़ंक्शन दो फ्लोटिंग-पॉइंट संख्याओं के विभाजन का **शेषफल (remainder)** लौटाता है। नाम "फ्लोटिंग मोड्यूलो" से आया है।
सिंटैक्स
fmod(float $x, float $y): float
पैरामीटर्स
| पैरामीटर | विवरण |
|---|---|
$x | अंश (numerator) — लाभांश |
$y | हर (denominator) — भाजक |
लौटाया गया मान
$x / $y का फ्लोटिंग-पॉइंट शेषफल। शेषफल का चिह्न $x (अंश) के समान होता है।
गणितीय संबंध
यदि x = y * i + r जहां i पूर्णांक भागफल है, तो fmod(x, y) = r।
उदाहरण
1. फ्लोट शेषफल: 5.25 ÷ 1.5 = 3 शेष 0.75
<?php $x = 5.25; $y = 1.5; $r = fmod($x, $y); echo "fmod($x, $y) = $r"; ?>
fmod(5.25,1.5) = 0.75
2. ऋणात्मक अंश — शेषफल ऋणात्मक
<?php $x = -10; $y = 3; $r = fmod($x, $y); echo "fmod($x, $y) = $r"; ?>
fmod(-10,3) = -1
-10 = 3 * (-3) + (-1) → शेषफल -1 (अंश का चिह्न)।
3. दोनों ऋणात्मक — शेषफल अंश का चिह्न
<?php $x = -10; $y = -3; $r = fmod($x, $y); echo "fmod($x, $y) = $r"; ?>
fmod(-10,-3) = -1
4. शून्य अंश/हर
<?php $x = 0; $y = 3.33; echo "fmod(0, 3.33) = " . fmod($x, $y) . "\n"; // 0 $r = fmod($y, $x); // 3.33 / 0 echo "fmod(3.33, 0) = $r"; // NAN ?>
fmod(0,3.33) = 0 fmod(3.33,0) = NAN
fmod() बनाम % ऑपरेटर
| पहलू | fmod() | % (इंट मॉड्यूलो) |
|---|---|---|
| इनपुट प्रकार | फ्लोट | पूर्णांक (फ्लोट कास्ट होते हैं) |
| शेषफल चिह्न | अंश ($x) के समान | भाजक ($y) के समान (PHP में) |
| शून्य भाजक | NAN लौटाता है | DivisionByZeroError (PHP 8+) / चेतावनी |
| परिशुद्धता | फ्लोट परिशुद्धता | सटीक पूर्णांक गणित |
उपयोग मामले
- फ्लोटिंग-पॉइंट संख्याओं के साथ चक्रीय/आवर्ती गणनाएँ।
- कोण सामान्यीकरण:
fmod($angle, 2*M_PI)। - समय गणना:
fmod($seconds, 60)। - ग्राफिक्स: टेक्सचर रैपिंग, मॉड्यूलर अंकगणित।
PHP संस्करण
PHP 4.2.0, PHP 5, PHP 7, PHP 8+ में उपलब्ध।