List Function in PHP: ये एक ऐसा Function है, जिसमें हम कई Variables Specify कर सकते हैं और हर Variable में किसी Array के किसी Element का मान Store किया जा सकता है। यानी किसी Array के विभिन्न Elements के मानों को एक ही Statement द्वारा विभिन्न Variables में Copy करने के लिये हम इस Function को उपयोग में ले सकते हैं।
Array में जिस क्रम में विभिन्न Elements Stored होते हैं, list() Function में Specified विभिन्न Variables में वे मान उसी क्रम में Copy होते हैं। लेकिन Array की Sorting करके हम अलग तरीके से Array के विभिन्न Items को list के विभिन्न Variables में Store कर सकते हैं।
इस Function को उपयोग में लेने के तरीके को हम निम्न उदाहरण द्वारा ज्यादा बेहतर तरीके से समझ सकते हैं:
<?php $cities = array('Bali', 'Falna', 'Rani', 'Pali'); list($firstCity, $secondCity, $thirdCity) = $cities; Echo "Name of First City: " . $firstCity . "\n"; Echo "Name of Second City: " . $secondCity . "\n"; Echo "Name of Third City: " . $thirdCity . "\n"; ?> //Output Name of First City: Bali Name of Second City: Falna Name of Third City: Rani
उपरोक्त उदाहरण में हम देख सकते हैं कि $cities नाम के Array में कुल चार Cities के नाम Specified हैं और इस Array के पहले तीन Cities के नामों को हम $firstCity, $secondCity व $thirdCity नाम के Variable में प्राप्त करना चाहते हैं।
इसलिए हमने list() Function में इन तीन Variables को Specify किया है और $cities Array को इस list() Function में Equal To ( = ) Operator का प्रयोग करके Assign कर दिया है।
जब ये Program Run होता है, तब list() Function में Specify किए गए तीनों Variables में $cities Array के पहले तीन Elements के मान क्रम से $firstCity, $secondCity व $thirdCity में Assign हो जाते हैं, जिसे हम हमारी जरूरत के अनुसार अपने PHP Program में उपयोग में ले सकते हैं।
उपरोक्त Program में $cities नाम के Array में कुल चार Cities के नाम हैं, लेकिन हमने list() Function में केवल तीन ही Variables Specify किये हैं। इस स्थिति में PHP, $cities Array के तीन Elements को तो list() Function में Specify किये गए तीनों Variables में Store कर देता है, जबकि चौथे Element के मान को list() Function द्वारा Ignore कर दिया जाता है।
यानी list() Function में जितने Variables Specified होते हैं, केवल उतने ही Variables में Array के मान क्रम से Store होते हैं, जबकि Array के अन्य मानों को list() Function Ignore कर देता है।
जबकि विपरीत स्थिति में यानी जब list() Function में Specified Variables की संख्या, Assign किये जाने वाले Array के कुल Elements की संख्या से ज्यादा होती है, तब list() Function के बचे हुए Variables में NULL Store हो जाता है। जैसेः
<?php $cities = array('Bali', 'Falna'); list($firstCity, $secondCity, $thirdCity) = $cities; Echo "Name of First City: " . $firstCity . "\n"; Echo "Name of Second City: " . $secondCity . "\n"; var_dump($thirdCity); ?> //Output PHP Notice: Undefined offset: 2 in C:\wamp\www\phpInHindi\001.php on line 4 PHP Stack trace: PHP 1. {main}() C:\wamp\www\phpInHindi\001.php:0 Notice: Undefined offset: 2 in C:\wamp\www\phpInHindi\001.php on line 4 Call Stack: 0.0005 325760 1. {main}() C:\wamp\www\phpInHindi\001.php:0 Name of First City: Bali Name of Second City: Falna NULL
जैसाकि उपरोक्त Output में हम देख सकते हैं कि हमें PHP एक Error Message दे रहा है क्योंकि हम list() Function द्वारा $thirdCity नाम के Variable में तीसरी City का नाम Store करने की कोशिश कर रहे हैं, जो कि $cities नाम के Array में उपलब्ध ही नहीं है।
इसलिये जब PHP इस Array की तीसरी Position यानी Index Number 2 की Location को Scan करने की कोशिश करता है, तब उसे Index Number 2 की Position ही प्राप्त नहीं होती। परिणामस्वरूप PHP “Notice: Undefined offset: 2” Notice Message Generate करता है।
हालांकि PHP उपरोक्त Output के अनुसार एक Notice Message Generate करता है, फिर भी वह list() Function के दो Variables में तो Value Store कर ही देता है, क्योंकि ये दो Values तो Array में उपलब्ध हैं ही।
जबकि तीसरे Variable के लिये Array में कोई Value Available न होने की स्थिति में उसमें PHP द्वारा NULL Store कर दिया जाता है, जो कि Output की अन्तिम Line में हम देख सकते हैं।
यदि हमें किसी Array के शुरूआत के Elements के स्थान पर किसी बीच के Element के मान को किसी Variable में Store करना हो, तो हम list() Function को निम्नानुसार भी उपयोग में ले सकते हैं:
<?php $cities = array('Bali', 'Falna', 'Rani', 'Pali'); list(, , $thirdCity) = $cities; Echo "Name of Third City: " . $thirdCity; ?> //Output Name of Third City: Rani
उपरोक्त Program में हमने list() Function में केवल एक ही Variable $thirdCity को Specify किया है और इस Variable को Specify करने से पहले हमने दो Commas Specify किए हैं।
जब हम इस तरीके से list() Function को Use करते हैं, तब list() Function Array के पहले दो Elements को Skip कर देता है, क्योंकि उनकी Values प्राप्त करने के लिए list() Function में कोई Variables ही नहीं होते हैं।
जबकि तीसरी Value को प्राप्त करने के लिये इस list() Function में $thirdCity नाम का Variable है। इसलिये Array के तीसरे Element का मान इस तीसरे Variable में Store हो जाता है, जिसे हम हमारी जरूरत के अनुसार PHP Program में उपयोग में ले सकते हैं।
विशेष रूप से ध्यान रखने वाली एक बात ये भी है कि list() Function केवल Indexed Based Array के साथ ही काम करता है। यदि हम इसे किसी Associative Array के साथ Use करने की कोशिश करते हैं, तो PHP हमें ऐसा नहीं करने देता है।
जब हम किसी Multidimensional Array से Elements को किसी list() Function में Specified Variables में Store करना चाहते हैं, तब हम list() Function की Nesting भी कर सकते हैं। जैसेः
<?php $cities = array('All Cities', array('Falna', 'Rani', 'Pali') ); list($firstCity, list($secondCity, $thirdCity)) = $cities; Echo "Name of First City: " . $firstCity . "\n"; Echo "Name of Second City: " . $secondCity . "\n"; Echo "Name of Third City: " . $thirdCity . "\n"; ?> //Output Name of First City: All Cities Name of Second City: Falna Name of Third City: Rani
उपरोक्त उदाहरण में हमने $cities नाम के दूसरे Element के स्थान पर एक Sub-Array को Specify किया है। इसलिये इस Sub-Array के मानों को list() Function में Specified Variables में प्राप्त करने के लिये हमें list() Function की भी Nesting करना जरूरी है। इसीलिये उपरोक्त Code में हमने list() Function की Nesting की है।
ये Article इस वेबसाईट पर Selling हेतु उपलब्ध EBook PHP in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी रहा, तो निश्चित रूप से ये पुस्तक भी आपके लिए काफी उपयोगी साबित होगी।
PHP in Hindi | Page: 647 | Format: PDF