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


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

🕙 Posted on 2023-04-28 at 21:28:57


विभिन्न डेटा प्रकार

PHP में कम से कम 10 डेटा प्रकार होते हैं।

    आप इन डेटा-प्रकारों के बारे में language.types ( php.net से आधिकारिक दस्तावेज ) पर अधिक जान सकते हैं। निम्न में से कुछ डेटा-प्रकार PHP के बाद के संस्करणों में पेश किए गए हैं, उदाहरण के लिए, पुनरावर्तनीय (iterable) PHP 7.1 में पेश किया गया छद्म प्रकार है।

चार स्केलर (primitive) प्रकार : boolean int float string - इन डेटा-प्रकारों में केवल एक ही मान होता है, हालांकि एक स्ट्रिंग वर्णों का अनुक्रम (श्रृंखला) है,

चार कंपाउंड प्रकार : array object callable iterable - ये डेटा-प्रकार समान/विभिन्न primitive डेटा-प्रकारों के एक से अधिक (या शून्य भी) आइटम रख सकते हैं और मिश्रित (compound) डेटा-प्रकार भी रख सकते हैं,

दो विशेष प्रकार : resource null- null (अशक्त) एक डेटा-प्रकार है, जिसमें कुछ भी नहीं होता है, और इसका उपयोग आवश्यक होने पर कुछ चरों (variables) से मूल्यों को हटाने के लिए किया जा सकता है। resource (संसाधन) एक विशेष डेटा-प्रकार है, जो बाहरी संसाधन के लिए मान (संदर्भ) रखता है।

दो छद्म प्रकार : mixed void- इन दोनों का उपयोग केवल पठनीयता के उद्देश्य से किया जाता है।

प्रत्येक डेटा प्रकार की व्याख्या

बूलियन

    बूलियन (boolean) का अर्थ है 'हां' या 'नहीं' (पूछे गए प्रश्न के मामले में), या (लाइट बल्ब स्विच करने के मामले में) 'चालू' और 'बंद' ! लेकिन, 'हाँ' और 'नहीं' (या 'चालू' और 'बंद') बूलियन मान नहीं हैं। पिछले पृष्ठ में, आपने विभिन्न आरक्षित कीवर्ड (शब्दों) को देखा है। इसलिए, आपको इस वेबसाइट की सामग्री को ध्यान से पढ़ना चाहिए, क्योंकि सामान्य अंग्रेजी वाक्य लिखते समय, हम इनमें से कुछ आरक्षित कीवर्ड का भी उपयोग करते हैं, उदाहरण के लिए: 'and', 'or', 'if', 'finally', आदि।

    TRUE true FALSE false बूलियन मूल्यों के लिए उपयोग किए जाने वाले (एकल उद्धरणों या दोहरे उद्धरणों की एक जोड़ी के बिना) आरक्षित कीवर्ड हैं। ये बूलियन मान केस-संवेदी नहीं हैं । हालाँकि, आपको इन literal (शाब्दिक) मूल्यों के मिश्रण से बचना चाहिए , और हमेशा उन्हें छोटे अक्षरों (lowercase English letters) में लिखने का अच्छा आचरण रखना चाहिए । PYTHON प्रोग्रामिंग भाषा में, केवल True False ही बूलियन मान के रूप में स्वीकार्य हैं।

    एक प्रोग्रामर के रूप में, आपको अपने कीबोर्ड से कोड टाइप करना होगा, और इसलिए, कुछ आचरण आपके स्क्रिप्टिंग कौशल को गति देगा, उदाहरण के लिए, लोअरकेस अक्षरों में यथासंभव कोड लिखना, डबल फ़ॉरवर्ड स्लैश के साथ टिप्पणी करना, कई लाइन टिप्पणियों का उपयोग करने के बजाय, या कम सामान्य # (हैश) प्रतीक का उपयोग करना, जिसके लिए आपको Shift कुंजी दबानी होगी !

<?php
  echo TRUE;   echo '<br />';
  echo FALSE;   echo '<br />';
  echo true;   echo '<br />';
  echo false;   echo '<br />';
  echo '<h2>ये चार बूलियन मान हैं, लेकिन केवल पहला और तीसरा आउटपुट 1 के रूप में दिखाता है</h2>';
?>

    सबसे पहले, मैंने (उपरोक्त उदाहरण में PHP टैग को बंद करने से पहले) कोड की अंतिम पंक्ति को कोड की तीसरी और पांचवीं पंक्ति को समझाने के लिए जोड़ा, क्योंकि, FALSE या false जो कुछ भी प्रदर्शित नहीं करेगा। यह बूलियन डेटा-प्रकार में उनके मूल्यों के कारण नहीं है, बल्कि echo अंतर्निहित फ़ंक्शन को इस तरह प्रदर्शित करने के लिए डिज़ाइन किया गया है।

    इसलिए, TRUE या true को "1" में बदल दिया गया है और FALSEया को false "" में बदल दिया जाएगा, क्योंकि 0 (अभिव्यक्ति का मान, लेकिन शून्य पूर्णांक नहीं) को PHP में EMPTY STRING के रूप में माना जाता है। बाद में, आप कंडिशनल एक्सप्रेशंस चैप्टर में देखेंगे कि 0 -0 "0" 0.0 false null [] array()आदि सभी को खाली (empty) माना जाता है। साथ ही, पिछले पृष्ठ में, आपने यह भी देखा है कि निम्न कोड ERROR नहीं दिखाएंगे (PHP 8.2.0 में परीक्षण किया गया)।

<?php
  echo TrUe;   echo '<br />';
  echo FaLsE;   echo '<br />';
  echo True;   echo '<br />';
  echo False;   echo '<br />';
  echo '<h2>ये चार बूलियन मान हैं, लेकिन केवल पहला और तीसरा आउटपुट 1 के रूप में दिखाता है </h2>';
?>

टाइप कास्टिंग या टाइप जॉगलिंग

    PHP एक गतिशील (ढीली) डेटा-टाइप स्क्रिप्टिंग भाषा है। इसका अर्थ है कि PHP को चर (variable) घोषणा में स्पष्ट प्रकार की परिभाषा की आवश्यकता नहीं है। अर्थात, जब एक स्ट्रिंग मान को किसी वेरिएबल नाम में संग्रहीत किया जाता है, उदाहरण के लिए, $my_data = 'Good Morning'; तब $my_data का डेटा-प्रकार स्ट्रिंग होता है ।

    लेकिन, बाद में जब आप एक नया मान निर्दिष्ट करते हैं, उदाहरण के लिए, $my_data = 9876543210; तो $my_data का डेटा-प्रकार स्ट्रिंग से नए डेटा-प्रकार, यानी int में बदल दिया जाता है । और यदि, आपने इसे $my_data = true; में बदल दिया है, फिर $my_data का डेटा-प्रकार को int से बूलियन में बदल दिया गया है।

    इसे टाइप जॉगलिंग कहा जाता है और यदि आप कोडिंग करते समय सावधान नहीं हैं तो बग (BUG) का कारण बन सकता है! इस प्रकार, PHP डेवलपर्स ने एक डेटा-टाइप को दूसरे डेटा-टाइप में कास्ट करने के लिए अन्य विकल्प भी प्रदान किया है। इसे टाइप-कास्टिंग (जानबूझकर करना) कहा जाता है ।

    (bool) (boolean) (int) (integer) (float) (string) (array) (object) (unset) कोष्ठक के साथ आरक्षित शब्द हैं, जिनका उपयोग एक डेटा-प्रकार को दूसरे में बदलने के लिए किया जाता है। उदाहरण के लिए, आप बूलियन मान ( true और false ) को अन्य डेटा प्रकारों में कास्ट कर सकते हैं। आप gettype() फ़ंक्शन के साथ, मान का डेटा-प्रकार प्राप्त कर सकते हैं । इसी तरह, आप किसी मान का डेटा-प्रकार settype() से सेट कर सकते हैं.

<?php // अब तक, हमने एक चर का उपयोग नहीं किया है
  $my_data = true;
  var_dump( $my_data );   echo '<br />';
  $cast_to_int = (int) $my_data;
  var_dump( $cast_to_int );
?>

    उपरोक्त उदाहरण से आपको निम्न आउटपुट प्राप्त होगा, अर्थात, पहली पंक्ति डेटा-प्रकार $my_data = true; की है और दूसरी पंक्ति डेटा-प्रकार $cast_to_int = (int) $my_data; की है।

bool(true)
int(1)

    आप बूलियन मान से दूसरे डेटा-प्रकार में CAST करने के लिए अन्य विकल्प आज़मा सकते हैं। हालाँकि, unset() $my_data चर के मान को नष्ट कर देगा और एक ERROR प्रदर्शित किया जाएगा कि यह चर परिभाषित नहीं है। (unset) कास्ट को PHP 7.2.0 में deprecated कर दिया गया है, और PHP 8.0.0 में हटा दिया गया है (removed)। इसलिए, आपको (unset) के बजाय unset() function का उपयोग करना चाहिए ।

<?php // unset a variable
  $my_data = true;
  var_dump( $my_data );   echo '<br />';
  unset( $my_data );
  var_dump( $my_data );
?>

bool(true)

Warning: Undefined variable $my_data in C:\xampp\htdocs\php_project\phptest.php on line 5
NULL

    PHP और अन्य प्रोग्रामिंग भाषाओं में कुछ कार्य (functions) प्रकृति में विनाशकारी (destructive) हैं, और न केवल मूल्य को नष्ट कर देते हैं, बल्कि वेरिएबल नाम भी। unset() ऐसा एक अंतर्निहित कार्य (built-in function) है।


Leave a Comment: