note 113496 added to language.references.pass
| From: | AycanYat | Date: | Sat, 19 Oct 2013 18:12:28 +0000 |
| Subject: | note 113496 added to language.references.pass | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-196588@lists.php.net to get a copy of this message | ||
Sometimes you might wish to modify value of an existing variable by its name. This is easily
accomplishable with a combination of using "passing by reference" and "variable
variables".
$first_var = 1;
$second_var = 2;
$third_var = 3;
$which_one = array_rand('first', 'second', 'third');
//Let's consider the result is "second".
$modifier = $$which_one; //Now $modifier has value 2.
$modifier++; //Now $modifier's value is 3.
echo $second_var; //Prints out 2
//Consider we wish to modify the value of $second_var
$modifier = &$$which_one; //Simply passing by reference
$modifier++; //Now value of $second_var is 3 too.
echo $second_var; //Prints out 3
It's that simple!
----
Server IP: 69.147.83.199
Probable Submitter: 188.119.54.178
----
Manual Page -- http://php.net/manual/en/language.references.pass.php
Edit -- https://master.php.net/note/edit/113496
Del: integrated -- https://master.php.net/note/delete/113496/integrated
Del: useless -- https://master.php.net/note/delete/113496/useless
Del: bad code -- https://master.php.net/note/delete/113496/bad+code
Del: spam -- https://master.php.net/note/delete/113496/spam
Del: non-english -- https://master.php.net/note/delete/113496/non-english
Del: in docs -- https://master.php.net/note/delete/113496/in+docs
Del: other reasons-- https://master.php.net/note/delete/113496
Reject -- https://master.php.net/note/reject/113496
Search -- https://master.php.net/manage/user-notes.php