
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 Keys and Elements in Category: पीएचपी by amit
🕙 Posted on 2023-05-19 at 06:45:51
ऐरे (array) कुंजियों (keys) पर अधिक
पिछले पृष्ठ में, आपने सीखा है कि एक सरणी (array) में कुंजियाँ विभिन्न डेटा-प्रकारों की हो सकती हैं। हालाँकि, आपको टाइप-कास्टिंग के निम्नलिखित नियम पर ध्यान देना चाहिए, जब एक कुंजी पूर्णांक (integer) या स्ट्रिंग डेटा-प्रकार से भिन्न होती है। जब किसी सरणी में दो या अधिक कुंजियों का मूल्यांकन एक ही पूर्णांक या स्ट्रिंग मान के रूप में किया जाता है, तो उस मूल्यांकित कुंजी के अंतिम आइटम की गणना की जाएगी।
(1) एक सरणी में स्ट्रिंग डेटा-प्रकार की कुंजी, जिसे पूर्णांक (integer) के लिए टाइप-कास्ट किया जा सकता है, सिवाय इसके कि सिंगल/
<?php
$my_var = array
(
'a', /* न्यूमेरिक इंडेक्स, 0 */
'b', /* न्यूमेरिक इंडेक्स, 1 */
'0'
=> 'c', /* 0 में टाइप-कास्ट */
'1'
=> 'd', /* 1 में टाइप-कास्ट */
'+1' => 'e',
-1 => 'f', /* -1, 1 के बराबर नहीं है, और यह विशेष रूप से यहां प्रदान किया गया है। -1 इस सरणी में अंतिम कुंजी भी नहीं है। */
'-1' => 'g', /* -1 में टाइप-कास्ट */
'01' => 'h',
'0b1' => 'i',
'0x1' => 'j',
'true' => 'k',
'1one' => 'l',
);
var_dump( $my_var );?>
हालाँकि, उपरोक्त उदाहरण में, सरणी शाब्दिक (array literal) में बारह आइटम हैं, जिन्हें $my_var को निर्दिष्ट (assign) किया गया है, लेकिन जब उन्हें PHP interpreter द्वारा संसाधित किया जाता है, तो वेब-ब्राउज़र में केवल नौ प्रदर्शित होते हैं। पहले आइटम 'a' को 'c' से बदल दिया जाता है और दूसरा आइटम 'b' को 'd' से बदल दिया जाता है। छठा आइटम 'f' को 'g' से बदल दिया गया है। हालांकि, एकल उद्धरणों की जोड़ी के बिना, 0b1
, 0x1
और का true
मूल्यांकन 1 के रूप में किया जाता है। उपरोक्त उदाहरण में उल्लिखित '0b1', '0x1' और 'true' को छोड़कर, जब स्ट्रिंग शाब्दिक को (int)
आरक्षित कीवर्ड के साथ टाइप-कास्ट किया जाता है, तो उनका मूल्यांकन 1 के रूप में किया जाता है (सरणी कोष्ठक array()
और सरणी वर्ग कोष्ठक []
के बाहर)।
(2) फ्लोट पॉइंट नंबरों की ऐरे कुंजियाँ भी पूर्णांकों के लिए टाइप-कास्ट की जाती हैं, जिसका अर्थ है कि आंशिक भाग (दशमलव बिंदु के बाद), छोटा कर दिया जाएगा।
(3) बूलियन कुंजियाँ पूर्णांकों के लिए टाइप-कास्ट की जाती हैं, अर्थात, true
(एकल/false
को 0 (शून्य अंक) में टाइप-कास्ट किया जाएगा।
(4) null
एक सरणी कुंजी हो सकती है, जो ""
(रिक्त स्ट्रिंग, बिना स्थान के) में टाइप-कास्ट होगी, और इनमें से किसी भी कुंजी को निर्दिष्ट मान पूर्व को बदल देगा। निम्नलिखित उदाहरण में, प्रत्येक सरणी शाब्दिक (array literal) में पहले आइटम को दूसरे आइटम द्वारा प्रतिस्थापित किया जाता है:
<?php
var_dump( [ null
=> 5, "" => 'hello' ] );
echo '<br />';
var_dump( [ "" => 'good', null
=> 'world', ] );?>
array(1) { [""]=> string(5) "world" }
(5) किसी सरणी में कुंजियाँ सरणी डेटा-प्रकार, या ऑब्जेक्ट डेटा-प्रकार की नहीं हो सकती हैं। ये ERROR के रूप में Illegal offset type (अवैध ऑफसेट प्रकार) दिखाएगा।
सरणी कुंजी और सरणी आइटम (तत्वों) पर लागू निम्नलिखित नियम पहले से ही पिछले पृष्ठ में समझाए गए हैं :
जब कई आइटम (तत्व) या तो सरणी घोषणा (array declaration) में जोड़े जाते हैं, या बाद में बदलाव किए जाते हैं जो एक ही कुंजी (मूल्यांकन) से जुड़े होते हैं, केवल उस कुंजी से जुड़े (अंतिम में उपयोग किए गए) आइटम का उपयोग किया जाएगा, क्योंकि अन्य सभी आइटम अधिलेखित (overwritten) हैं।
<?php
$new_var = array
(
'good', /* न्यूमेरिक इंडेक्स, 0 */
'morning', /* न्यूमेरिक इंडेक्स, 1 */
'1' => 'afternoon',
1.4 => 'evening',
true => 'night'
);
var_dump( $new_var ); ?>
PHP सरणियों (arrays) में एक ही समय में पूर्णांक और स्ट्रिंग कुंजियाँ हो सकती हैं क्योंकि PHP अनुक्रमित (indexed) और साहचर्य (associative) सरणियों के बीच अंतर नहीं करता है।
कुंजी वैकल्पिक है। यदि यह निर्दिष्ट नहीं है, तो PHP पहले उपयोग की गई सबसे बड़ी integer
कुंजी की वृद्धि (increment) का उपयोग करेगी।
केवल कुछ तत्वों के लिए कुंजी को निर्दिष्ट करना और दूसरों के लिए इसे छोड़ना संभव है।
Caution
: PHP 8.0.0 से पहले, सरणी तत्वों तक पहुँचने के लिए वर्ग कोष्ठक और घुंघराले ब्रेसिज़ का परस्पर उपयोग किया जा सकता था (उदाहरण के लिए $new_array[4] और $new_array{4} दोनों एक ही काम करेंगे)। घुंघराले ब्रेस सिंटैक्स को PHP 7.4.0 के रूप में बहिष्कृत किया गया था और अब PHP 8.0.0 के रूप में समर्थित नहीं है।
सरणी (array) फ़ंक्शनस
सरणी कुंजियों और वस्तुओं (या तत्वों) को पूर्व-निर्धारित सरणी कार्यों के साथ जोड़-तोड़ (manipulate) किया जा सकता है। आप पहले से परिभाषित array()
और count()
फ़ंक्शनस को देख चुके हैं। सभी सरणी कार्यों (functions) की एक सूची यहां नीचे दी गई है। कुछ उपयोगी PHP फ़ंक्शनस को अगले पृष्ठ में समझाया गया है।
array_change_key_case
− एक सरणी में सभी चाबियों का case बदलता हैarray_chunk
− एक सरणी को विखंड (chunks) में विभाजित करता हैarray_column
− इनपुट ऐरे में एक कॉलम से मान लौटाता हैarray_combine
− कुंजियों के लिए एक सरणी और उसके मानों के लिए दूसरे का उपयोग करके एक सरणी बनाता हैarray_count_values
− किसी सरणी के सभी मानों की गणना करता हैarray_diff_assoc
− अतिरिक्त इंडेक्स चेक के साथ सरणियों के अंतर की गणना करता हैarray_diff_key
− तुलना के लिए कुंजियों का उपयोग करके सरणियों के अंतर की गणना करता हैarray_diff_uassoc
− अतिरिक्त इंडेक्स चेक के साथ सरणियों के अंतर की गणना करता है जो उपयोगकर्ता द्वारा प्रदान किए गए कॉलबैक फ़ंक्शन द्वारा किया जाता हैarray_diff_ukey
− तुलना के लिए कुंजियों पर कॉलबैक फ़ंक्शन का उपयोग करके सरणियों के अंतर की गणना करता हैarray_diff
− सरणियों के अंतर की गणना करता हैarray_fill_keys
− कुंजियों को निर्दिष्ट करते हुए मानों के साथ एक सरणी भरता हैarray_fill
− सरणी को मानों से भरता हैarray_filter
− कॉलबैक फ़ंक्शन का उपयोग करके सरणी के तत्वों को फ़िल्टर करता हैarray_flip
− एक सरणी में सभी कुंजियों को उनके संबंधित मानों के साथ एक्सचेंज करता हैarray_intersect_assoc
− अतिरिक्त इंडेक्स चेक के साथ सरणियों के प्रतिच्छेदन (intersection) की गणना करता हैarray_intersect_key
− तुलना के लिए कुंजियों का उपयोग करके सरणियों के प्रतिच्छेदन की गणना करता हैarray_intersect_uassoc
− अतिरिक्त इंडेक्स चेक के साथ सरणियों के प्रतिच्छेदन की गणना करता है, कॉलबैक फ़ंक्शन द्वारा इंडेक्स की तुलना करता हैarray_intersect_ukey
− तुलना के लिए कुंजियों पर कॉलबैक फ़ंक्शन का उपयोग करके सरणियों के प्रतिच्छेदन की गणना करता हैarray_intersect
− सरणियों के प्रतिच्छेदन की गणना करता हैarray_is_list
− चेक करता है कि दी गई सरणी एक सूची है या नहींarray_key_exists
− चेक करता है कि दी गई कुंजी या इंडेक्स सरणी में मौजूद है या नहींarray_key_first
− किसी सरणी की पहली कुंजी प्राप्त करता हैarray_key_last
− किसी सरणी की अंतिम कुंजी प्राप्त करता हैarray_keys
− सभी कुंजियाँ या किसी सरणी की कुंजियों का एक सबसेट लौटाता हैarray_map
− कॉलबैक को दिए गए सरणियों के तत्वों पर लागू करता हैarray_merge_recursive
− एक या एक से अधिक सरणियों को पुनरावर्ती रूप से (recursively) मर्ज करता (जोड़ता) हैarray_merge
− एक या एक से अधिक सरणियों को मर्ज करता (जोड़ता) हैarray_multisort
− एकाधिक या बहु-आयामी सरणियों को क्रमबद्ध करता हैarray_pad
− निर्दिष्ट लंबाई के लिए एक मान के साथ सरणी को पैड (pad) करता हैarray_pop
−एरे के अंत से एलिमेंट को पॉप करता (हटाता) हैarray_product
− किसी सरणी में मानों के गुणनफल की गणना करता हैarray_push
− सरणी के अंत में एक या अधिक तत्वों को धकेलता (जोड़ता) हैarray_rand
− एक सरणी से एक या अधिक यादृच्छिक (random) कुंजियाँ चुनता हैarray_reduce
− कॉलबैक फ़ंक्शन का उपयोग करके सरणी को एकल मान में कम कर देता हैarray_replace_recursive
− तत्वों को पारित सरणियों से पहले सरणी में पुनरावर्ती रूप से बदलता हैarray_replace
− पास की गई सरणियों से तत्वों को पहली सरणी में बदलता हैarray_reverse
−विपरीत क्रम में तत्वों के साथ एक सरणी देता हैarray_search
− दिए गए मान के लिए सरणी खोजता है और सफल होने पर पहली संबंधित कुंजी लौटाता हैarray_shift
−एरे की शुरुआत से एक तत्व को शिफ्ट करता (हटाता) हैarray_slice
− सरणी का एक टुकड़ा निकालता हैarray_splice
− सरणी के एक हिस्से को हटा देता है और इसे किसी अन्य चीज़ से बदल देता हैarray_sum
− किसी सरणी में मानों के योग की गणना करता हैarray_udiff_assoc
− अतिरिक्त इंडेक्स चेक के साथ सरणियों के अंतर की गणना करता है, कॉलबैक फ़ंक्शन द्वारा डेटा की तुलना करता हैarray_udiff_uassoc
− अतिरिक्त इंडेक्स चेक के साथ सरणियों के अंतर की गणना करता है, कॉलबैक फ़ंक्शन द्वारा डेटा और इंडेक्स की तुलना करता हैarray_udiff
− डेटा तुलना के लिए कॉलबैक फ़ंक्शन का उपयोग करके सरणियों के अंतर की गणना करता हैarray_uintersect_assoc
− अतिरिक्त इंडेक्स चेक के साथ सरणियों के प्रतिच्छेदन की गणना करता है, कॉलबैक फ़ंक्शन द्वारा डेटा की तुलना करता हैarray_uintersect_uassoc
− अतिरिक्त इंडेक्स चेक के साथ सरणियों के प्रतिच्छेदन की गणना करता है, अलग-अलग कॉलबैक फ़ंक्शंस द्वारा डेटा और इंडेक्स की तुलना करता हैarray_uintersect
− सरणियों के प्रतिच्छेदन की गणना करता है, कॉलबैक फ़ंक्शन द्वारा डेटा की तुलना करता हैarray_unique
− एक सरणी से डुप्लिकेट मान निकालता हैarray_unshift
− एक या एक से अधिक तत्वों को एक सरणी की शुरुआत में जोड़ता हैarray_values
− किसी सरणी के सभी मान लौटाता हैarray_walk_recursive
− एक सरणी के प्रत्येक सदस्य के लिए पुनरावर्ती रूप से एक उपयोगकर्ता फ़ंक्शन लागू करता हैarray_walk
− किसी सरणी के प्रत्येक सदस्य के लिए उपयोगकर्ता द्वारा प्रदान किए गए फ़ंक्शन को लागू करता हैarray
− एक सरणी बनाता हैarsort
− अवरोही क्रम में एक सरणी को सॉर्ट करता (छांटता) है और इंडेक्स एसोसिएशन को बनाए रखता हैasort
− एक ऐरे को आरोही क्रम में सॉर्ट करता (छांटता) है और इंडेक्स एसोसिएशन को बनाए रखता हैcompact
− वेरिएबल्स और उनके मानों से युक्त ऐरे बनाता हैcount
− सभी तत्वों को एक सरणी या एक गणनीय वस्तु में गिना जाता हैcurrent
− किसी सरणी में वर्तमान तत्व लौटाता हैeach
− किसी सरणी से वर्तमान कुंजी और मान युग्म (pair) लौटाता है और सरणी कर्सर को आगे बढ़ाता हैend
− किसी सरणी के आंतरिक सूचक (pointer) को उसके अंतिम तत्व पर सेट करता हैextract
− एक सरणी से वर्तमान प्रतीक तालिका में चर आयात करता हैin_array
− जाँचता है कि क्या कोई मान किसी सरणी में मौजूद हैkey_exists
− array_key_exists फ़ंक्शन का उपनामkey
− एक सरणी से एक कुंजी प्राप्त करता हैkrsort
− अवरोही क्रम में कुंजी द्वारा सरणी को सॉर्ट करता (छांटता) हैksort
− कुंजी द्वारा सरणी को आरोही क्रम में सॉर्ट करता (छांटता) हैlist
− वेरिएबल्स को असाइन करता है जैसे कि वे एक सरणी थेnatcasesort
− असंवेदनशील "प्राकृतिक क्रम" एल्गोरिथ्म का उपयोग करके एक सरणी को सॉर्ट करता (छांटता) हैnatsort
− एक "प्राकृतिक क्रम" एल्गोरिथम का उपयोग करके एक सरणी को सॉर्ट करता (छांटता) हैnext
− किसी सरणी के आंतरिक सूचक (pointer) को (एक कुंजी) आगे बढ़ाता हैpos
− current फ़ंक्शन का उपनामprev
− आंतरिक सरणी सूचक (pointer) को रिवाइंड (एक कुंजी पीछे) करता हैrange
− तत्वों की एक श्रृंखला युक्त एक सरणी बनाता हैreset
− किसी सरणी के आंतरिक सूचक (pointer) को उसके पहले तत्व पर सेट करता हैrsort
− अवरोही क्रम में एक सरणी सॉर्ट करता (छांटता) हैshuffle
− किसी सरणी को शफ़ल करता हैsizeof
− count फ़ंक्शन का उपनामsort
− किसी सरणी को बढ़ते क्रम में सॉर्ट करता (छांटता) हैuasort
− यूजर-डिफ़ाइंड तुलना फ़ंक्शन के साथ एक सरणी को सॉर्ट करता (छांटता) है और इंडेक्स एसोसिएशन को बनाए रखता हैuksort
− यूजर-डिफ़ाइंड तुलना फ़ंक्शन का उपयोग करके कुंजियों द्वारा एक सरणी को सॉर्ट करता (छांटता) हैusort
− यूज़र-डिफ़ाइंड तुलना फ़ंक्शन का उपयोग करके मानों द्वारा सरणी को सॉर्ट करता (छांटता) है
Leave a Comment:

Amit Sinha March 2nd, 2023 at 9:30 PM
😃 😄 😁 😆 😅 😂 😉 😊 😇 😍 😘 😚 😋 😜 😝 😶 😏 😒 😌 😔 😪 😷 😵 😎 😲 😳 😨 😰 😥 😢 😭 😱 😖 😣 😞 😓 😩 😫 😤

Ribhu March 3rd, 2023 at 9:30 PM
🐵 🐒 🐶 🐩 🐺 🐱 🐯 🐅 🐆 🐴 🐎 🐮 🐂 🐃 🐄 🐷 🐖 🐗 🐽 🐏 🐑 🐐 🐪 🐫 🐘 🐭 🐁 🐀 🐹 🐰 🐇