PHP का is_nan() फ़ंक्शन जांचता है कि दिया गया मान **NAN (Not A Number)** है या नहीं। NAN अपरिभाषित/अप्रतिनिधित्वीय गणितीय परिणामों को दर्शाता है (जैसे sqrt(-1), acos(2), 0/0)।
सिंटैक्स
is_nan(float $val): bool
पैरामीटर
| पैरामीटर | विवरण |
|---|---|
$val | जांचा जाने वाला मान |
लौटाया गया मान
true यदि $val NAN है, अन्यथा false।
उदाहरण
1. सामान्य संख्या — false
<?php $val = 100; $ret = is_nan($val); var_dump($val, $ret); ?>
int(100) bool(false)
2. log(0) = -INF — NAN नहीं
<?php $val = log(0); // -INF $ret = is_nan($val); var_dump($val, $ret); ?>
float(-INF) bool(false)
नोट: अनंत (INF) NAN नहीं है। is_infinite() देखें।
3. acos(5) — डोमेन से बाहर → NAN
<?php $val = acos(5); // कोसाइन डोमेन [-1,1] है $ret = is_nan($val); var_dump($val, $ret); ?>
float(NAN) bool(true)
4. sqrt(-1) — NAN
<?php $val = sqrt(-1); $ret = is_nan($val); var_dump($val, $ret); ?>
float(NAN) bool(true)
NAN उत्पन्न करने वाले सामान्य संचालन
| संचालन | उदाहरण |
|---|---|
| ऋणात्मक वर्गमूल | sqrt(-1), pow(-2, 0.5) |
| त्रिकोणमिति डोमेन उल्लंघन | acos(2), asin(-2) |
| अनिश्चित रूप | 0/0, INF - INF, 0 * INF |
| लघुगणक डोमेन उल्लंघन | log(-1), log10(0) (-INF, NAN नहीं) |
महत्वपूर्ण: NAN तुलना
<?php $nan = sqrt(-1); echo ($nan == NAN) ? "equal" : "not equal"; // "not equal"! echo ($nan === NAN) ? "identical" : "not identical"; // "not identical"! echo is_nan($nan) ? "is_nan true" : "is_nan false"; // "is_nan true" ?>
NAN किसी भी चीज़ के बराबर नहीं होता, स्वयं अपने आप के भी नहीं! हमेशा is_nan() उपयोग करें।
संबंधित फ़ंक्शन्स
is_infinite()— अनंत जांचis_finite()— परिमित जांचNANस्थिरांक
PHP संस्करण
PHP 4, PHP 5, PHP 7, PHP 8+ में उपलब्ध।