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


Accessing Individual Elements From an Array   in Category: पीएचपी   by amit

🕙 Posted on 2023-05-15 at 22:30:08


एक ऐरे (array) से किसी वस्तु को एक्सेस करना

    सरणी (array) डेटा-प्रकार पर संचालन (operate) करने के लिए आपके पास विभिन्न विकल्प हैं। अनुक्रमित (indexed) सरणी (array) और var_dump() फ़ंक्शन के साथ इसके आउटपुट के निम्न उदाहरण पर विचार करें । आप पहले ही पिछले पृष्ठ में देख चुके हैं कि कुंजियाँ (keys) उनके संबंधित मानों (values) से कैसे संबद्ध होती हैं, और यह भी कि अनुक्रमित ऐरे में जब प्रोग्रामर किसी आइटम (वस्तु) के लिए विशिष्ट कुंजी प्रदान नहीं करता है।

<?php $my_var = array( "Amit", 'Krishna', true, 1, 2.5 );
  var_dump( $my_var ); ?>

array(5) { [0]=> string(4) "Amit" [1]=> string(7) "Krishna" [2]=> bool(true) [3]=> int(1) [4]=> float(2.5) }

    आप उपरोक्त आउटपुट में देख सकते हैं कि अनुक्रमित सरणी में एक कुंजी के लिए सूचकांक (index) संख्या, 0 (शून्य - पहली पूर्ण संख्या whole number) से शुरू होती है। इसलिए, आप चर (variable) नाम या स्थिर (constant) नाम के ठीक बाद [] (खोलने और बंद करने के) वर्ग कोष्ठक के भीतर कुंजी (पूर्णांक integer, या स्ट्रिंग string) प्रदान करके इन वस्तुओं तक पहुँच सकते हैं।

<?php echo $my_var[0]; // सरणी का पहला आइटम ?>

<?php echo $my_var[1]; // सरणी का दूसरा आइटम ?>

    कोड की उपरोक्त दो पंक्तियों की तरह आप अन्य आइटम्स के आउटपुट प्राप्त कर सकते हैं, जब आप पहले से ही जानते हैं कि किसी सरणी में कितने संख्या में आइटम है। उपरोक्त उदाहरण में चर नाम $my_var के साथ, वर्णित सरणी शाब्दिक (array literal) असाइन किया गया है। लेकिन, जब किसी सरणी में अज्ञात संख्या में आइटम होते हैं, उदाहरण के लिए, जब इस वेबसाइट में कोई विषय या पेज जोड़ा जाता है, तो एक नया आइटम स्वचालित रूप से एक सरणी में जुड़ जाएगा, जो सभी परिणामों को ठीक से प्रदर्शित करेगा।

    इस प्रकार, जब आप उन्नत प्रोग्रामिंग तकनीकों को सीखेंगे, तो यह आपके लिए स्पष्ट हो जाएगा कि किसी भी डेटा-प्रकार का शाब्दिक (literal) एक चर (variable) नाम या एक स्थिर (constant) नाम को सीधे निर्दिष्ट नहीं किया जा सकता है। फिर, आपको डेटाबेस टेबल से डेटा एक्सेस करने के लिए LOOPS, कंडीशनल ऑपरेटर्स आदि का उपयोग करना होगा। किसी सरणी में आइटम्स तक पहुँचने के लिए, आपने पिछले पृष्ठ में count() (पूर्व-परिभाषित) फ़ंक्शन के बारे में सीखा है। इसका उपयोग किसी सरणी में सभी वस्तुओं (तत्वों) की संख्या का पूर्णांक (integer) मान (value) प्राप्त करने के लिए किया जाता है।

    साथ ही, आपने उपरोक्त आउटपुट में देखा है कि किसी सरणी में सभी आइटम्स की संख्या, और count() फ़ंक्शन से लौटाई गई संख्या एक अनुक्रमित सरणी की अंतिम सूचकांक (index) संख्या से एक अधिक है। ऐसा इसलिए है क्योंकि इंडेक्स नंबर 0 (शून्य) से शुरू होता है, जबकि count() फ़ंक्शन या var_dump() फ़ंक्शन जो उस नंबर को आउटपुट करता है 1 से शुरू होता है । इसलिए, किसी सरणी के अंतिम आइटम तक पहुंचने के लिए, आपको count() फ़ंक्शन से लौटाई गई संख्या को एक से घटानी (माइनस) होगी।

<?php echo $my_var[ count( $my_var ) - 1 ]; // सरणी के अंतिम आइटम को आउटपुट करता है ?>

<?php echo $my_var[ count( $my_var ) ]; // आउटपुट त्रुटि, नीचे दिखाया गया है: ?>


Warning: Undefined array key 5 in C:\xampp\htdocs\php_project\phptest.php on line 2

    स्ट्रिंग और स्ट्रिंग फ़ंक्शंस विषय (topic) में, आप पहले ही देख चुके हैं कि एक (single) वर्ण (character) को स्ट्रिंग शाब्दिक (string literal) से उपरोक्त समान तरीके से एक्सेस किया जा सकता है। हालाँकि, आपको ध्यान देना चाहिए कि अनुक्रमित सरणी के लिए कोई नकारात्मक (negative) सूचकांक (index) संख्या नहीं है। इसलिए, स्ट्रिंग डेटा-प्रकार के विपरीत, आप -1 कुंजी के साथ सरणी डेटा-प्रकार से अंतिम आइटम तक नहीं पहुंच सकते। यह ERROR को आउटपुट करेगा जैसा कि नीचे दिखाया गया है:

<?php echo $my_var[ -1 ]; // आउटपुट त्रुटि, नीचे दिखाया गया है: ?>


Warning: Undefined array key -1 in C:\xampp\htdocs\php_project\phptest.php on line 2

किसी साहचर्य (Associative) सरणी के एक आइटम तक पहुँचना

<?php $assoc_var = array( 0 => "Amit", 1 => 'Krishna', 20 => true, 3 => 1, 4 => 2.5 ); ?>

    यह चर, $assoc_var एक साहचर्य सरणी शाब्दिक (associative array literal) के साथ निर्दिष्ट किया गया है, जिसका संबंधित कुंजियों में मान उपरोक्त चर $my_var में उन मानों के समान है। लेकिन दोनों में एक बारीक अंतर है। $assoc_var में तीसरा आइटम 2 के बजाय 20 key से जुड़ा है। आप एक साहचर्य सरणी (associative array) के किसी आइटम तक नहीं पहुंच सकते, जिसकी कुंजी (key) मौजूद नहीं है। यदि आप जानना चाहते हैं कि एक साहचर्य सरणी कैसे बनाई जाती है, तो आपको पिछले पृष्ठ पर जाना चाहिए।

<?php echo $assoc_var[20]; // सरणी के सूचकांक 20 पर आइटम का मान ?>

    चाहे कुंजी स्ट्रिंग डेटा-प्रकार की हो, या पूर्णांक (integer) डेटा-प्रकार की, आपको डेटाबेस में तालिका (table) के कॉलम को ध्यान से नाम देना चाहिए। चर (variable) नाम के ठीक बाद वर्ग कोष्ठक में कुंजी, साहचर्य सरणी में उल्लिखित कुंजी के समान (exact) ही होनी चाहिए। यदि कुंजी स्ट्रिंग डेटा-प्रकार की है, तो आपको इसे सिंगल कोट्स या डबल कोट्स की एक जोड़ी के भीतर संलग्न करना होगा।

स्ट्रिंग कुंजियों के साथ एक साहचर्य सरणी बनाएँ

<?php $string_assoc = array( 'zero' => "Amit", 'one' => 'Krishna', 'two' => true, 'three' => 1, 'four' => 2.5 );
  echo '<pre>';
  var_dump( $string_assoc );
  echo '</pre>'; ?>
<br />

<pre>array(5) {
  ["zero"]=>
  string(4) "Amit"
  ["one"]=>
  string(7) "Krishna"
  ["two"]=>
  bool(true)
  ["three"]=>
  int(1)
  ["four"]=>
  float(2.5)
}
</pre><br />

    "शून्य", "एक", "दो", आदि कुंजी, 0, 1, 2, और इसी तरह ... के बराबर नहीं हैं। यहां तक ​​कि एक वर्ण, उदाहरण के लिए, "a" या "z" array() कोष्ठक या [] के अंदर किसी वस्तु के लिए कुंजी का नाम हो सकता है। जावास्क्रिप्ट ऑब्जेक्ट डेटा-प्रकार में, कुंजियाँ एकल उद्धरणों की जोड़ी या दोहरे उद्धरणों की जोड़ी के बिना हो सकती हैं, और वे मान्य कुंजी नाम होंगे। लेकिन PHP में, प्रत्येक स्ट्रिंग डेटा-प्रकार को आपको सिंगल/डबल कोट्स की एक जोड़ी के साथ संलग्न करना होगा।

<?php echo $string_assoc[ "zero" ]; // स्ट्रिंग कुंजी को पहले आइटम के रूप में नहीं कहा जा सकता ?><br />

<?php echo $string_assoc[ "one" ]; // इस सरणी में कोई संख्यात्मक कुंजी नहीं है ?><br />

    PHP में इंडेंटेशन महत्वपूर्ण नहीं है, और एक साहचर्य सरणी के निम्नलिखित उदाहरण को या तो एक पंक्ति में लिखा जा सकता है, या इंडेंटेशन के साथ खूबसूरती से लिखा जा सकता है।

<?php
  $user_data = array(
        'first_name' => "Amit",
        'last_name' => 'Sinha',
        'age' => 42,
        'gender' => "male",
        'nationality' => "Indian",
        'Address' => "खुलासा नहीं किया जाए"
  );
  echo '<pre>';
  var_dump( $user_data );
  echo '</pre>';
?>

<pre>array(6) {
  ["first_name"]=>
  string(4) "Amit"
  ["last_name"]=>
  string(5) "Sinha"
  ["age"]=>
  int(42)
  ["gender"]=>
  string(4) "male"
  ["nationality"]=>
  string(6) "Indian"
  ["Address"]=>
  string(19) "खुलासा नहीं किया जाए"
}
</pre>

    आप उपरोक्त वर्णित सरणी से अलग-अलग आइटम निम्न तरीकों से एक्सेस कर सकते हैं:

<?php echo $user_data[ "first_name" ]; ?>

<?php echo $user_data[ "last_name" ]; ?>


Leave a Comment: