PHP में हम Array के हर Element को अपनी सुविधानुसार दो तरीकों से Store व Access कर सकते हैं। पहला तरीका Array के Index Numbers का तरीका है, जिसे हम पहले ही देख चुके हैं। इस तरीके में Array के हर Element यानी Array में Store किये जाने वाले हर Item या Value को Array के किसी Specific Index Number पर Store करते हैं, जबकि PHP हमें ये सुविधा भी देता है कि हम Visual Basic की तरह Array के हर Index Number को एक नाम दे सकते हैं और इस नाम को एक Key की तरह उपयोग में लेते हुए Array के किसी भी Element को Access कर सकते हैं।
PHP में Create किए जाने वाले इस प्रकार के Array को Associative Array कहा जाता है, क्योंकि इस प्रकार के Array में Array के हर Element के साथ उसके Index Number के स्थान पर एक Unique Name यानी Key Associated रहता है और हम इस Key का प्रयोग करके भी Array के किसी Specific Item को Access कर सकते हैं।
PHP में Associative Array का प्रयोग बहुत ही ज्यादा किया जाता है, क्योंकि Associative Array में Array के हर Item के साथ Key के रूप में एक नाम Associated रहता है, जिससे Array के किसी भी Specific Item को Identify व Access करना काफी आसान हो जाता है, क्योंकि Array के किसी Specific Item की Position के Index Number को याद रखने की तुलना में उससे Associated Key यानी नाम को याद रखना काफी आसान होता है।
वास्तव में हमारे द्वारा Create किये जाने वाले किसी भी Array को PHP Internally एक Associative Array की तरह ही Memory में Store करता है। लेकिन जब हम Array के हर Element के साथ कोई Key Specify नहीं करते हैं, तब PHP हर Element के साथ Default रूप से उसकी Position के Index Number को Key की तरह Use कर लेता है।
Associative Array में हर Array Element के साथ एक String को Key के रूप में Specify किया जाता है। यानी हम एक Associative Array में Key के रूप में कोई Numerical अथवा String मान Specify कर सकते हैं। Array के Index Number के रूप में कोई भी Numerical मान Valid होता है, फिर वह मान कोई Negative संख्या भी हो सकता है और कोई Floating Point Value भी। एक Associative Array वास्तव में एक सारणी यानी 2-Column Table की तरह Behave करता है, जिसमें पहले Column में Associative Array के हर Element का Key होता है जबकि दूसरे Column में हर Key से Associated Value या Array Item होता है। इसे हम निम्न चित्र द्वारा समझ सकते हैं:
City (As Key) |
Temperature (In Degrees as Value) |
Delhi |
33 |
Mumbai |
30 |
Rajasthan |
40 |
Gujrat |
38 |
जब हम किसी Array को बिना Key Specify किये हुए Create करते हैं, तब PHP द्वारा उसके हर Element का Index Number ही Key की तरह उपयोग में ले लिया जाता है। उदाहरण के लिए यदि हम उपरोक्त Array को ही बिना Key Specify किये हुए Create करते, तो बनने वाला Array PHP के नजरिए से निम्नानुसार होताः
Index Number |
Value |
0 |
33 |
1 |
30 |
2 |
40 |
3 |
38 |
चूंकि PHP में Array Internally Associative Array ही होते हैं, इसलिये Associative Array व Index Array में अन्तर केवल Key का होता है। यदि Key के रूप में कोई Numerical Integer मान हो, तो बनने वाला Array Index Based Array होता है जबकि यदि Key के रूप में हम कोई Key Specify करते हैं, तो बनने वाला Array एक Associative Array हो जाता है।
जब हम Array को Associative Array की तरह उपयोग में ले रहे होते हैं, तब हमें इस बात का विशेष रूप से ध्यान रखना होता है कि Array की हर Key Unique होनी चाहिये। यानी किसी भी एक Key String को किसी दूसरे Element के लिये Repeat Use नहीं करना चाहिए। फिर भले ही वह Key एक String Value हो अथवा कोई Index Based Integer मान।
हम चाहे Associative Array Create करें अथवा Indexed Based Array, दोनों ही स्थितियों में Array में Insert या Store होने वाले सभी Items उसी क्रम में Array में Store होते हैं, जिस क्रम में उन्हें Input किया गया है। लेकिन हमें विभिन्न प्रकार की जरूरतों को पूरा करने के लिए समय-समय पर Array के विभिन्न Items को एक क्रम से दूसरे क्रम में Interchange करना पडता है। इस प्रकार की जरूरत को पूरा करने के लिये PHP हमें विभिन्न प्रकार के In-Built Functions Provide करता है।
चूंकि जैसाकि हम जानते हैं कि हम दो तरीकों से Array Create कर सकते हैं। इसलिए जब हम Associative Array Create करते हैं, तब भी हम दो तरीकों से Associative Array Create कर सकते हैं। पहले तरीके में हम Index Based System को Use करते हैं, जबकि दूसरे तरीके में हम Array Constructor का प्रयोग करते हैं।
ध्यान रखने वाली मुख्य बात ये है कि जब हम Associative Array Create करते है, तब हम Array के हर Element को Access करने के लिए Array के Index Numbers का प्रयोग नहीं कर सकते, क्योंकि उस स्थिति में Array में Index Numbers के स्थान पर Keys Store होती हैं।
इसीलिये किसी Associative Array के विभिन्न Elements को Access करने के लिये हमें foreach Loop का प्रयोग करना पडता है, जबकि किसी सामान्य Indexed Based Array के सभी Elements को Access करने के लिये हम foreach Looping Construct के अलावा किसी भी अन्य Looping Statement को Use कर सकते हैं।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
PHP in Hindi | Page: 647 | Format: PDF