Variable Variables PHP Way to Pointer of a Pointer

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

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Variable Variables PHP Way to Pointer of a Pointer: PHP में Variable को एक और Special तरीके से Use किया जाता है। इस तरीके में किसी एक Variable का मान किसी दूसरे Variable का नाम होता है। फलस्वरूप हम उस दूसरे Variable को Dynamic तरीके से Change करके पहले Variable को अलग-अलग तरीकों से Reference कर सकते हैं। इस प्रक्रिया को PHP में Variable Variables कहा जाता है जबकि यदि “C” Language की भाषा में कहें तो इसे Pointer का Pointer कह सकते हैं, जहां पहले Variable का Reference या Pointer किसी दूसरे Variable में होता है और उस दूसरे Variable का Pointer या Reference किसी तीसरे Variable में होता है और हम उस तीसरे Variable के Through पहले Variable का मान Change अथवा Access करते हैं। PHP के इस Concept को समझने के एक उदाहरण देखते हैं जो कि निम्नानुसार हैः

<?php	
	$salary = "inDollars";	
	$$salary = 5000;

	print "Salary : $inDollars \n";
?>

//Output:
Salary: 5000

उपरोक्त Code में हमने print Statement में $inDollars नाम के Variable को Display करवाया है जबकि वास्तव में हमने इस नाम को कोई Variable ही Create नहीं किया है। लेकिन ये नाम एक Variable की तरह काम कर रहा है क्योंकि यदि ये नाम एक Variable की तरह काम नहीं करता, तो Output में $inDollars के स्थान पर मान 5000 दिखाई नहीं देता। चलिए, समझते हैं कि ऐसा क्यों हो रहा है।

सबसे पहले हमने $salary नाम का एक Variable Create किया है और उस Variable में Value के रूप में एक String “inDollars” को Set किया है।

फिर अगले Statement में हमने $$salary नाम Specify किया है और इस Variable में मान 5000 Store कर दिया है। जब PHP Interpreter इस Line को Execute करता है, तब Execution के समय Variable के नाम के साथ दो $$ Sign देखकर वह अलग तरह से Reaction करता है।

चूंकि, यदि केवल $salary होता, तो PHP Interpreter $salary नाम के Variable में Stored “inDollars” मान को Display कर देता, लेकिन चूंकि यहां $$salary नाम लिखा है, इसलिए PHP Interpreter दो Level में काम करता है। पहले Level में ये उस Variable तक पहुंचता है, जिसका नाम $salary है। यानी निम्न काम करता हैः

      ${$salary} = 5000;

जब PHP Interpreter इस Statement की Parsing करता है, तब ये Statement निम्न रूप में Convert हो जाता हैः

      ${inDollars} = 5000;

क्योंकि $salary नाम के Variable में Value के रूप में “inDollars” ही Stored है।

अब यदि हम उपरोक्त Statement में से कोष्‍टठक के Symbols को हटा दें, तो हमें निम्नानुसार Statement प्राप्त होता हैः

      $inDollars = 5000;

फलस्वरूप $inDollars नाम का एक नया Variable Create होता है और उस नए Variable में मान के रूप में 5000 Store हो जाता है। इसीलिए जब हम print Statement में $inDollars Variable को Display करवाते हैं, तो हमें Output में इस Variable में Value के रूप में मान 5000 प्राप्त होता है।

उपरोक्त Conversion की Internal प्रक्रिया को हम निम्न चित्रानुसार बेहतर तरीके से समझ सकते हैं:

Variable Variables PHP Way to Pointer of a Pointer

Variable Variables PHP Way to Pointer of a Pointer

उपरोक्त चित्र के अनुसार समझें तो यदि हम $salary Variable Use करते हैं, तो हमें Value के रूप में Directly “inDollars” मान प्राप्त हो जाता है। लेकिन जब हम $$salary नाम को Use करते हैं, तो ये नाम पहले $salary में Convert होता है। फलस्वरूप मान inDollars प्राप्त होता है। अब PHP Interpreter इस मान को एक नए Identifier के नाम के रूप में उपयोग में लेता है और Create होने वाले उस नए Identifier से Associated Memory में आने वाले मान को Store कर देता है।

दूसरे शब्दों में कहें तो जिस Identifier का नाम, $salary नाम के Variable में है उस नाम वाले Identifier की Memory Location को $$salary द्वारा Refer किया जा सकता है।

ये Concept समझना थोडा मुश्किल है, लेकिन कभी-कभी ऐसी जरूरत पडती है जब हमें किसी Variable को Dynamically Create करना होता है और उस Variable में Values को Dynamically Store करना होता है। ऐसी जरूरत को केवल Variable Variables Concept द्वारा ही पूरा किया जा सकता है।

इस तरीके का प्रयोग करके हम हमारी जरूरत के अनुसार कभी भी किसी भी Identifier में Stored String के नाम का एक Variable Create कर सकते हैं और उसमें Dynamically Value Store कर सकते हैं। वर्तमान समय में PHP के जितने भी Frameworks (CodeIgniter, Symfony, Laravel, Yii, etc…) या CMS (WordPress, Joomla, Drupal, etc…) उपलब्‍ध हैं, उन सभी में Variable Variables Concept को बहुतायत से Use किया जाता है, अन्‍यथा ये Framework व CMS सम्‍भव ही नहीं हो पाते।

By Value and By Reference in PHP - Variable Initialization and Assignment
Expression vs Statement: Simple Clarification

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

PHP in Hindi | Page: 647 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All Hindi EBooks

सभी हिन्दी EBooks C, C++, Java, C#, ASP.NET, Oracle, Data Structure, VB6, PHP, HTML5, JavaScript, jQuery, WordPress, etc... के DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।