payment by upi: sinhamit@icici or payment by bank account name: amit kumar sinha, account number: 2646728782 IFSC code: KKBK0005660 SWIFT: KKBKINBB

Please support if you like my work by payment through upi: sinhamit@icici or payment by bank

account name: Amit Kumar Sinha,
account number: 2646728782
IFSC code: KKBK0005660
SWIFT: KKBKINBB


Checking Data Types   in Category: पीएचपी   by amit

🕙 Posted on 2023-05-24 at 21:01:29


टाइप चेकिंग − वेरिएबल हैंडलिंग फंक्शंस

    हालांकि var_dump() फ़ंक्शन आपको एक शाब्दिक (literal), या एक चर/स्थिर (variable/constant) नाम के बारे में सब कुछ बताता है, आपके CMS (सामग्री प्रबंधन प्रणाली) या आपकी वेबसाइट की कार्यात्मकताओं में इसे उपयोग या लागू नहीं किया जा सकता है। कई पूर्व-परिभाषित PHP फ़ंक्शंस हैं जिनका उपयोग शाब्दिक, चर या स्थिर के डेटा-प्रकार की जाँच के लिए किया जाता है। आइए, एक-एक करके उनकी जांच करें।

gettype()

<?php echo gettype( false ); // आउटपुट boolean है ?><br />

<?php echo gettype( PHP_INT_MAX ); // आउटपुट integer है ?><br />

<?php echo gettype( 12.56 ); // आउटपुट double है ?><br />

<?php echo gettype( "true" ); // आउटपुट string है ?><br />

<?php echo gettype( [ null ] ); // आउटपुट array है ?><br />

<?php echo gettype( NULL ); // आउटपुट NULL है ?><br />

    आप उपरोक्त उदाहरणों में देख सकते हैं कि, gettype() फ़ंक्शन एक शाब्दिक या एक चर/स्थिर नाम के डेटा-प्रकार को आउटपुट करता है। आउटपुट स्ट्रिंग डेटा-प्रकार का है, अर्थात, आप डेटा-प्रकारों के इन 'स्ट्रिंग नाम' के साथ एक शाब्दिक या एक चर/स्थिर नाम की तुलना कर सकते हैं। निम्नलिखित कोड आपको प्रत्येक शाब्दिक से वापसी मूल्य का वर्णन करते हैं। फ़्लोटिंग पॉइंट डेटा-टाइप को डबल (double) के रूप में लौटाया जाता है।

<?php var_dump( gettype( false ) ); // आउटपुट string(7) "boolean" है ?><br />

<?php var_dump( gettype( PHP_INT_MAX ) ); // आउटपुट string(7) "integer" है ?><br />

<?php var_dump( gettype( 12.56 ) ); // आउटपुट string(6) "double" है ?><br />

<?php var_dump( gettype( "true" ) ); // आउटपुट string(6) "string" है ?><br />

<?php var_dump( gettype( [ null ] ) ); // आउटपुट string(5) "array" है ?><br />

<?php var_dump( gettype( NULL ) ); // आउटपुट string(4) "NULL" है ?><br />

    अन्य PHP प्री-डिफ़ाइंड फ़ंक्शंस हैं जो सीधे शाब्दिक या चर/स्थिर नाम के डेटा-प्रकार की जाँच कर सकते हैं। ये पूर्व-परिभाषित फ़ंक्शन एक बूलियन मान लौटाते हैं, अर्थात, जब एक शाब्दिक या एक चर/स्थिर नाम उस डेटा-प्रकार के समान होता है (जिसके लिए पूर्व-निर्धारित कार्यों (फ़ंक्शंस) का नाम दिया जाता है), आउटपुट true होता है। जब शाब्दिक या एक चर/स्थिर नाम आवश्यक डेटा-प्रकार से मेल नहीं खाता है, तो आउटपुट false होता है।

isset()

    आप पिछले पृष्ठ में isset() फ़ंक्शन को पहले ही देख चुके हैं, जो true आउटपुट करता है जब चर/स्थिर नाम घोषित किया जाता है और एक शाब्दिक मान निर्दिष्ट किया जाता है। जब चर/स्थिर नाम परिभाषित नहीं किया गया है, अर्थात, किसी भी डेटा-प्रकार के साथ निर्दिष्ट नहीं किया गया है, (या NULL असाइन किया गया है), आउटपुट false है।

<?php var_dump( isset( $not_var ) ); // चर $not_var परिभाषित नहीं किया गया है, और आउटपुट bool(false) है ?><br />

<?php $my_var; // चर $my_var के लिए कोई मान निर्दिष्ट नहीं किया गया है
  var_dump( isset( $my_var ) ); // आउटपुट bool(false) है ?>
<br />

<?php $new_var = null; // NULL कोई मान नहीं दर्शाता है।
  var_dump( isset( $new_var ) ); // आउटपुट bool(false) है ?>
<br />


<?php $array_var = array(); // खाली सरणी शाब्दिक को चर $array_var को निर्दिष्ट गया है
  var_dump( isset( $array_var ) ); // आउटपुट bool(true) है ?>
<br />

<?php $string_var = ""; // खाली स्ट्रिंग शाब्दिक को चर $string_var को निर्दिष्ट गया है
  var_dump( isset( $string_var ) ); // आउटपुट bool(true) है ?>
<br />

<?php $bool_var = false; // true या false को चर $bool_var को निर्दिष्ट जा सकता है
  var_dump( isset( $bool_var ) ); // आउटपुट bool(true) है ?>
<br />

    isset() फ़ंक्शन केवल चर/स्थिर नाम की जांच करता है, न कि एक्सप्रेशन (expression), और लिटरल (literal), उदाहरण के लिए, ""(खाली स्ट्रिंग), [] (खाली सरणी), NULL आदि। निम्नलिखित उदाहरण में, प्रत्येक कोड उसी ERROR को आउटपुट करता है जैसा कि नीचे दिखाया गया है।

<?php var_dump( isset( "" ) ); // आउटपुट ERROR है ?><br />

<?php var_dump( isset( [] ) ); // आउटपुट ERROR है ?><br />

<?php var_dump( isset( NULL ) ); // आउटपुट ERROR है ?><br />

<?php var_dump( isset( false ) ); // आउटपुट ERROR है ?><br />


Fatal error: Cannot use isset() on the result of an expression (you can use "null !== expression" instead) in C:\xampp\htdocs\php_project\phptest.php on line 3

is_bool ()

    is_bool() फ़ंक्शन शाब्दिक (literal), एक चर/स्थिर नाम या किसी भी अभिव्यक्ति (expression) की जांच करता है जिसे true या false असाइन किया गया है या उस अभिव्यक्ति से आउटपुट इन बूलियन मानों में से एक है, तो आउटपुट bool(true) होगा । आपको ध्यान देना चाहिए कि is_bool() फ़ंक्शन टाइप-कास्टिंग से अलग है, और किसी भी पूर्णांक (integer), फ्लोट, स्ट्रिंग, सरणी को true या false के रूप में मूल्यांकित किया गया है, बूलियन मान नहीं हैं, और इसलिए, आउटपुट bool(false) होगा। नीचे दिए गए उदाहरण देखें:

<?php var_dump( is_bool( false ) ); // आउटपुट bool(true) है ?><br />

<?php var_dump( is_bool( true ) ); // आउटपुट bool(true) है ?><br />

<?php var_dump( is_bool( 0 ) ); // आउटपुट bool(false) है ?><br />

<?php var_dump( is_bool( 1 ) ); // आउटपुट bool(false) है ?><br />

<?php var_dump( is_bool( "" ) ); // आउटपुट bool(false) है ?><br />

<?php var_dump( is_bool( [] ) ); // आउटपुट bool(false) है ?><br />

is_int (), is_integer (), या is_long ()

    is_integer() और is_long() फ़ंक्शंस is_int() फ़ंक्शन के उपनाम हैं। ये तीनों फ़ंक्शंस जाँचते हैं कि क्या एक शाब्दिक या एक चर/स्थिर नाम या एक अभिव्यक्ति (expression) का आउटपुट एक पूर्णांक डेटा-प्रकार है। जैसा कि ऊपर बताया गया है, अन्य सभी डेटा-प्रकार (संख्यात्मक स्ट्रिंग, खाली स्ट्रिंग, फ़्लोट्स इत्यादि सहित), जिनका मूल्यांकन 0(शून्य) या 1 या अन्य पूर्णांक मान के रूप में किया जा सकता है, इन तीन फ़ंक्शंस के साथ जांच करते समय false आउटपुट करेंगे।

<?php var_dump( is_int( "12" ) ); // आउटपुट bool(false) है ?><br />

<?php var_dump( is_int( intdiv( PHP_INT_MAX, PHP_INT_MIN ) ) ); // आउटपुट bool(true) है ?><br />

    intdiv() फ़ंक्शन fdiv() के समान एक मैथ फ़ंक्शन है, लेकिन ऑपरेशन सफल होने पर यह एक पूर्णांक (integer) मान आउटपुट करता है। निम्नलिखित कोड ERROR को आउटपुट करेगा जैसा कि नीचे दिखाया गया है।

<?php var_dump( is_int( intdiv( PHP_INT_MIN, -1 ) ) ); // आउटपुट ERROR है ?><br />


Fatal error: Uncaught ArithmeticError: Division of PHP_INT_MIN by -1 is not an integer in C:\xampp\htdocs\php_project\phptest.php:1 Stack trace: #0 C:\xampp\htdocs\php_project\phptest.php(1): intdiv(-9223372036854775808, -1) #1 {main} thrown in C:\xampp\htdocs\php_project\phptest.php on line 1

<?php var_dump( is_int( intdiv( 1, 0 ) ) ); // आउटपुट ERROR है ?><br />


Fatal error: Uncaught DivisionByZeroError: Division by zero in C:\xampp\htdocs\php_project\phptest.php:1 Stack trace: #0 C:\xampp\htdocs\php_project\phptest.php(1): intdiv(1, 0) #1 {main} thrown in C:\xampp\htdocs\php_project\phptest.php on line 1

is_float (), is_double (), या is_real () है

    is_double() और is_real() फ़ंक्शंस is_float() फ़ंक्शन के उपनाम हैं। ये तीनों फ़ंक्शंस यह जाँचते हैं कि एक शाब्दिक या एक चर/स्थिर नाम या एक अभिव्यक्ति (expression) का आउटपुट एक फ़्लोटिंग पॉइंट (floating point) डेटा-प्रकार है या नहीं। fdiv() और fmod() मैथ फ़ंक्शंस हैं, जो फ़्लोटिंग पॉइंट नंबरों को आउटपुट करते हैं।

<?php var_dump( is_float( M_PI ) ); // आउटपुट bool(true) है ?><br />

<?php var_dump( is_float( NAN ) ); // आउटपुट bool(true) ?><br />

<?php var_dump( is_float( fdiv( 1, 0 ) ) ); // आउटपुट bool(true) है ?><br />

<?php var_dump( is_float( fmod( 21, 0 ) ) ); // आउटपुट bool(true) है ?><br />

    अधिक वेरिएबल हैंडलिंग फ़ंक्शंस, और वेरिएबल्स के वैल्यू चेकिंग, अगले पृष्ठ में वर्णित हैं।


Leave a Comment: