परिचय
PHP में, चर नाम को गतिशील रूप से सेट करना संभव है। ऐसा चर किसी मौजूदा चर के मान को नाम के रूप में उपयोग करता है। एक चर चर को दो $ चिह्नों के साथ उपसर्ग के रूप में परिभाषित किया गया है
उदाहरण
<?php $var1="xyz"; //normal variable $$var1="abcd";//variable variable echo $var1 . "\n"; echo $$var1 . "\n"; echo "{$$var1} $xyz"; ?>
आउटपुट
यह स्क्रिप्ट निम्न आउटपुट उत्पन्न करती है
xyz abcd abcd abcd
ध्यान दें कि $$var1 का मान $xyz के समान है, xyz का मान $var1 है।
सामान्य चर के संख्यात्मक मान को चर चर के रूप में उपयोग नहीं किया जा सकता है
उदाहरण
<?php $var1=100; //normal variable $$var1=200;//variable variable echo $var1 . "\n"; echo $$var1 . "\n"; echo $100; ?>
आउटपुट
जब यह स्क्रिप्ट निष्पादित की जाती है, तो निम्न परिणाम प्रदर्शित होता है
PHP Parse error: syntax error, unexpected '100' (T_LNUMBER), expecting variable (T_VARIABLE) or '{' or '$' line 6
एक सरणी सबस्क्रिप्ट के संदर्भ में एक चर चर को परिभाषित करना भी संभव है। निम्नलिखित उदाहरण में, एक चर चर एक सामान्य सरणी के 0 वें तत्व का उपयोग करके परिभाषित किया गया है
उदाहरण
<?php $var1=array("aa","bb"); //normal variable ${$var1[0]}=10;//variable variable with array element echo $var1[0] . "\n"; echo $aa . "\n"; echo ${$var1[0]} . "\n"; ?>
आउटपुट
यह निम्नलिखित परिणाम देगा -
aa 10 10
परिवर्तनीय संपत्ति नामों का उपयोग करके वर्ग गुण भी सुलभ हैं। यह सुविधा तब उपयोगी होती है जब एक प्रोपरी नाम एक सरणी से बना होता है।
उदाहरण
<?php var $u = "Architecture"; var $ugCourses = array("CSE","MECH","CIVIL"); $obj = new branches(); $courses = "ugCourses"; echo $obj->{$courses[0]} . "\n"; echo $obj->{$courses}[0] . "\n"; ?>
आउटपुट
यह निम्नलिखित परिणाम देगा -
Architecture CSE