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


Array Functions   in Category: पीएचपी   by amit

🕙 Posted on 2023-05-20 at 16:33:56


सरणी (array) फ़ंक्शन

array_values() सरणी (array) के मानों को अनुक्रमित (indexed) सरणी के आइटम के रूप में आउटपुट करता है।

<?php $assoc_var = array( 'xyz' => 1, 'abc' => 45, 'mno' => true ); ?>

<?php var_dump( array_values( $assoc_var ) ); ?><br />

    जैसा कि आप उपरोक्त कोड के नीचे दिए गए आउटपुट को देख सकते हैं, कुंजी 'xyz', 'abc' और 'mno' को क्रमशः 0, 1 और 2 में बदल दिया गया है।

array(3) { [0]=> int(1) [1]=> int(45) [2]=> bool(true) }

array_keys() फ़ंक्शन सभी कुंजियों को ढूंढता है और उन्हें अनुक्रमित सरणी के आइटम के रूप में लौटाता है।

<?php var_dump( array_keys( $assoc_var ) ); // चर (variable) $assoc_var ऊपर घोषित किया गया है ?><br />

array(3) { [0]=> string(3) "xyz" [1]=> string(3) "abc" [2]=> string(3) "mno" }

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

<?php var_dump( array_keys( $assoc_var, 1 ) ); ?><br />

array(2) { [0]=> string(3) "xyz" [1]=> string(3) "mno" }

array_key_exists() बताता है कि किसी सरणी में कुंजी मौजूद है या नहीं।

<?php var_dump( array_key_exists("xyz", $assoc_var) ); // आउटपुट bool(true) ?><br />

<?php var_dump( array_key_exists(0, $assoc_var) ); // आउटपुट bool(false) ?><br />

    उपरोक्त उदाहरण में, कुंजी 0 साहचर्य सरणी $assoc_var में मौजूद नहीं है और इसलिए, आउटपुट bool(false) है।

array_key_exists() और isset() फ़ंक्शनस के बीच अंतर

    isset()फ़ंक्शन का उपयोग आमतौर पर यह जांचने के लिए किया जाता है कि एक चर नाम का मान परिभाषित है या नहीं। जावास्क्रिप्ट के विपरीत PHP में कोई undefined डेटा-प्रकार नहीं है। जब एक चर नाम या सरणी कुंजी का मान null होता है , तो isset() फ़ंक्शन bool(false) आउटपुट करेगा। निम्नलिखित उदाहरण पर विचार करें (आप प्रत्येक आउटपुट को दूसरों से अलग करने और पहचानने के लिए <br /> HTML तत्व के बाद संख्या और एक रिक्त स्थान रख सकते हैं, जैसा कि नीचे दिखाया गया है) :

<?php
  $my_var = null;
  echo '<br />1) '; var_dump( isset( $my_var ) ); // $my_var घोषित किया गया है, लेकिन आउटपुट bool(false) है
  echo '<br />2) '; var_dump( isset( $not_var ) ); // $not_var न तो घोषित किया गया है और न ही किसी मूल्य को सौंपा गया है। आउटपुट bool(false) है

  $new_var = array( 0, 1, null, '', false, null => 5, '' => 6 );
  echo '<br />Is array set: ';
  var_dump( isset( $new_var ) ); // आउटपुट bool(true) है
  echo '<br /> array is: ';
  var_dump( $new_var ); // यह सरणी अनुक्रमित और साहचर्य कुंजियों का मिश्रण है
  echo '<br /> 3) '; var_dump( isset( $new_var[2] ) ); // आउटपुट bool(false) है
  echo '<br /> 4) '; var_dump( isset( $new_var[3] ) ); // आउटपुट bool(true) है
  echo '<br /> 5) '; var_dump( isset( $new_var[4] ) ); // आउटपुट bool(true) है
  echo '<br /> 6) '; var_dump( isset( $new_var[5] ) ); // $new_var[5] घोषित नहीं किया गया है। आउटपुट bool(false) है
?>

    उपरोक्त उदाहरण में, $my_var को null असाइन किया गया है, लेकिन आउटपुट bool(false) है। $not_var परिभाषित नहीं है, और आउटपुट भी bool(false) है। $new_var सरणी की अंतिम कुंजी जो कि ('' => 6) है, ने उस सरणी की पिछली कुंजी अर्थात (null => 5) को बदल दिया है। '' (खाली स्ट्रिंग, बिना किसी रिक्त स्थान के सिंगल/डबल कोट्स की एक जोड़ी) और falseके मूल्य के रूप में$new_var[3] और $new_var[4] क्रमशः, null नहीं हैं, इसलिए, दोनों मामलों में आउटपुट bool(true) हैं। उपरोक्त उदाहरण में, $new_var[5] कोई कुंजी नहीं है और echo फ़ंक्शन ERROR के साथ NULL आउटपुट करेगा। इसलिए, var_dump( isset($new_var[5]) ) नीचे दिखाए गए अनुसार bool(false) आउटपुट करता है।


1) bool(false)
2) bool(false)
Is array set: bool(true)
array is: array(6) { [0]=> int(0) [1]=> int(1) [2]=> NULL [3]=> string(0) "" [4]=> bool(false) [""]=> int(6) }
3) bool(false)
4) bool(true)
5) bool(true)
6) bool(false)

<?php echo $new_var[5]; ?>


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

min() और max() गणित (Math) फ़ंक्शनस हैं, जिनका उपयोग किसी सरणी में न्यूनतम और अधिकतम संख्या ज्ञात करने के लिए किया जाता है।

न्यूनतम खोजने के लिए: <?php echo min( $assoc_var ); ?><br />

अधिकतम खोजने के लिए: <?php echo max( $assoc_var ); ?><br />


csv फ़ाइलों से डेटा निर्यात/आयात करने के लिए आमतौर पर implode() और explode() फ़ंक्शंस का उपयोग किया जाता है

    .csv फाइलें टेक्स्ट फाइलें होती हैं, जिनमें स्प्रेडशीट से डेटा, उदाहरण के लिए, MS-एक्सेल, आदि को विभाजक (separator), जैसे- , (कॉमा) या * (एस्टरिक) प्रतीक के साथ संग्रहीत किया जाता है। बहुत से व्यक्ति, जो डाटाबेस या स्प्रेडशीट अनुप्रयोगों के बारे में नहीं जानते हैं, उन्हें अपने डेटा को सरल .csv फाइलों में सहेजने के लिए कहा जाता है। और, प्रोग्रामर उन .csv फ़ाइलों को उनकी ज़रूरतों के अनुसार अन्य स्वरूपों में परिवर्तित करते हैं।

implode() फ़ंक्शन एक सरणी को एक स्ट्रिंग डेटा-प्रकार में परिवर्तित करता है

<?php $array_to_string = implode( " * ", $assoc_var ); echo $array_to_string; ?><br />

explode() फ़ंक्शन एक स्ट्रिंग को कुछ विभाजक (separator) के साथ सरणी डेटा-प्रकार में परिवर्तित करता है।

<?php $string_to_array = explode( " * ", $array_to_string ); var_dump( $string_to_array ); ?><br />

    उपरोक्त दो उदाहरणों में, आप देख सकते हैं कि ' * ' (* प्रतीक के पहले और बाद में एक रिक्त स्थान) विभाजक के रूप में उपयोग किया गया है। एक विभाजक कुछ अद्वितीय वर्ण या वर्णों का समुह होना चाहिए, जिसका उपयोग DATABASE या .csv फ़ाइलों के अंदर समान्यतः वाक्यों, आदि में नहीं किया जाता है। विभाजक के रूप में वर्ण का उपयोग करते समय आपको सावधान रहना चाहिए।

    उदाहरण के लिए, जब आप उपरोक्त दो फ़ंक्शंस में से किसी एक में केवल * प्रतीक (रिक्त स्थान के बिना) का उपयोग करते हैं, तो आपको समकक्ष (विपरीत) फ़ंक्शन में केवल * (बिल्कुल समान वर्ण) का उपयोग करना होगा। यह भी ध्यान रखना महत्वपूर्ण है कि जब आप एक स्ट्रिंग को सरणी डेटा-प्रकार में परिवर्तित करते हैं, तो आउटपुट को echoफ़ंक्शन के साथ प्रदर्शित नहीं किया जाना चाहिए, अन्यथा वेब-ब्राउज़र में ERROR प्रदर्शित किया जाएगा!


Leave a Comment: