Tuesday, 7 May 2019

What does =& mean in PHP?



Consider:



$smarty =& SESmarty::getInstance();


What is the & for?


Answer



It passes by reference. Meaning that it won't create a copy of the value passed.




See:
http://php.net/manual/en/language.references.php (See Adam's Answer)



Usually, if you pass something like this:



$a = 5;
$b = $a;
$b = 3;


echo $a; // 5
echo $b; // 3


The original variable ($a) won't be modified if you change the second variable ($b) . If you pass by reference:



$a = 5;
$b =& $a;
$b = 3;


echo $a; // 3
echo $b; // 3


The original is changed as well.



Which is useless when passing around objects, because they will be passed by reference by default.


No comments:

Post a Comment

php - file_get_contents shows unexpected output while reading a file

I want to output an inline jpg image as a base64 encoded string, however when I do this : $contents = file_get_contents($filename); print ...