It's all about Temp Vars

Temp Var Example
<?php
function foo() {
  
$a "abc";
  return 
$a;
}
$b foo();
?>
Spot the problem
<?php
function foo() {
   return 
3;
}
function 
bar(&$arg) {
   
$arg "banana";
}
bar(foo());
?>
In PHP5 this now gives
Strict Standards: Only variables should be passed by reference in file on line 8
And here too
<?php
function & blah($arg) {
  if(
strlen($arg)) {
    return 
$arg.'d';
  }
  else return 
null;
}
$foo "abc";
$a blah($foo);
echo 
$a;
?>
Output
abcd