Lo que sucede es que en el primer ejemplo no haces referencia en ninguna parte. Solo asignas valores dentro de la función y esto no se refleja fuera de la función por lo que te había mencionado anteriormente. En realidad para que veas lo que hace la primera función hace algo similar a esto
Código PHP:
Ver original$a = 1;
$b = 2;
$a1 = $a;
$b1 = $b;
$a1 = $b1;
$b = 3;
echo $a;
En realidad no hiciste cambio alguno a la variable $a que es la que estás imprimiendo.