How to create Constructor Based Associative Array in PHP?

जब हम array() Constructor का प्रयोग करके Associative Array Create करना चाहते हैं, तब हमें निम्न तरीके को Follow करना होता हैः

<?php
$temperature = array('delhi'=33, 'mumbai'=>30, 'rajasthan'=>40, 'gujrat'=>38);
print_r($temperature);
?>

//Output
Array
(
[delhi] => 33
[mumbai] => 30
[rajasthan] => 40
[gujrat] => 38
)

हम देख सकते हैं कि यहां भी हमें वही Output प्राप्त हो रहा है, जो Indexed Based Array Create करते समय प्राप्त हुआ था। इसलिये हम इस Array को भी ठीक उसी तरह से उपयोग में ले सकते हैं व Access कर सकते हैं, जैसाकि हमने Index Based Array को किया था। यानी हम निम्नानुसार foreach Loop का प्रयोग करके इसके सभी Elements को Access कर सकते हैं:

foreach($temperature as $city => $temp){
print "Temperature of $city is $temp Degree \n";
}

अथवा सभी Elements को अलग-अलग Access करने के लिए निम्नानुसार Echo या Print Statement का भी प्रयोग कर सकते हैं:

print "Temperature of Delhi is $temperature[delhi]";

यदि हम चाहें, तो किसी Array को array() Constructor का प्रयोग करके Create कर सकते हैं और अपनी जरूरत के अनुसार उसमें Indexed Based Array तकनीक का प्रयोग करके नए Elements को Add कर सकते हैं। इस प्रक्रिया को निम्न Program द्वारा समझा जा सकता हैः

<?php
$temperature = array('city1'=>33, 'city2'=>30, 'city3'=>40, 'city4'=>38);
$temperature['city5'] = 50;
print_r($temperature);
?>

//Output
Array
(
[city1] => 33
[city2] => 30
[city3] => 40
[city4] => 38
[city5] => 50
)

सामान्यतः किसी भी Index Number Based Array का पहला Element हमेंशा Index Number 0 पर Store होता है। लेकिन यदि हम चाहें तो हम Array के पहले Element के Store होने की Position को स्वयं Specify कर सकते हैं। जैसेः

<?php
$temperature = array(1=>33, 30, 40, 38);
$temperature[] = 50;
print_r($temperature);
?>

//Output
Array
(
[1] => 33
[2] => 30
[3] => 40
[4] => 38
[5] => 50
)

इस Program में हमारे Array में पहला मान Index Number 0 पर नहीं बल्कि Index Number 1 पर Store हो रहा है, जबकि हमने अन्य Index Numbers को Specify नहीं किया है, फिर भी वे स्वयं ही अगले Index Number पर Store हो रहे हैं। इस तरह से हम किसी Array को PHP में किसी भी Index Number से शुरू कर सकते हैं। अन्य Programming Languages की तरह PHP का Array हमेंशा Index Number 0 से ही शुरू हो, ऐसा जरूरी नहीं होता।

इस Program में हमने array() Constructor व Indexed Based Array दोनों तरीकों को आपस में Mix भी किया है। यानी हमने Array में पहले चार मान तो array() Constructor का प्रयोग करके Insert किये हैं, जबकि पांचवा मान Indexed Based तरीके का प्रयोग करके Insert किया है। इस तरह से हम हमारी जरूरत के अनुसार दोनों तरीकों की Mixing करके भी अपनी किसी Specific Type की जरूरत को पूरा कर सकते हैं।

हम Array Create करते समय भी Key व Index Number दोनों की आपस में Mixing कर सकते हैं। जब हम किसी Array में सबसे पहली Value के साथ किसी Key को Specify करते हैं, जबकि अन्य Values के साथ कोई Key Specify नहीं करते, तब PHP स्वयं ही अन्य Elements के साथ Index Number Associate कर देता है, जिसकी शुरूआत 0 से होती है। इसे हम निम्न Program द्वारा समझ सकते हैं:

<?php
$temperature = array('mumbai'=>33, 30, 40, 38);
$temperature[] = 50;
print_r($temperature);
?>

//Output
Array
(
[mumbai] => 33
[0] => 30
[1] => 40
[2] => 38
[3] => 50
)

इस Program में हमने केवल पहले ही Array Element के साथ एक Key Associate किया है। इसलिये PHP स्वयं ही Automatically अन्य सभी Elements के साथ Zero Based Indexing को Specify कर देता है, जैसाकि Output में हम देख सकते हैं। यहां भी यदि हम चाहें तो Key व Index Number के शुरूआत दोनों को तय कर सकते हैं। जैसेः

<?php
$temperature = array('mumbai'=>33, 25, 35, 10=>30, 40, 38);
$temperature[] = 50;
print_r($temperature);
?>

//Output
Array
(
[mumbai] => 33
[0] => 25
[1] => 35
[10] => 30
[11] => 40
[12] => 38
[13] => 50
)

इस Program में हमने Array के पहले Element के साथ एक Key Associate किया है। जबकि चौथे Element के साथ Index Number 10 को Specify किया है। इसलिये PHP दूसरे व तीसरे Element को Default रूप से क्रमश:  Index Number 0 व 1 पर Store करता है, जबकि चौथे Element के बाद बाकी के सभी Elements को क्रम से Index Number 10, 11, 12, व 13 पर Store करता है।

इन विभिन्न प्रकार के तरीकों से आप समझ ही गये होंगे कि हम PHP में Array को कितने विभिन्न तरीकों से उपयोग में ले सकते हैं व अपनी किसी जरूरत को पूरा करने के लिये PHP हमें कितनी Flexibility प्रदान करता है। 

How to create Indexed Based Associative Array in PHP?
Scalar Data Types in PHP - Boolean and Integer

PHP in Hindiये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी। 

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW GET DEMO REVIEWS