Zagadki php

Zapraszam na trochę zabawy z ciekawymi przykładami w języku php. Pod każdym listingiem jest odpowiedź do zadania.
1. Jaki będzie wynik wykonania programu?

function a($a=2,$b)
{
	return $a+$b;
}
echo a(2);
Odp. Warning: Missing argument 2 for a()
2. Jaki będzie efekt uruchomienia programu?
function abc()
{
	echo 'a';
}
function ABC()
{
	echo 'b';
}
abc();
Odp. Fatal error: Cannot redeclare ABC()
3. Jaki będzie wynik uruchomienia programu?
function abc()
{
}
var_dump(abc());
Odp. NULL
4. Jaki będzie wynik wykonania programu?
function abc()
{
	echo func_get_arg(1);
}
abc('a','b','c');
Odp. b
5. jaki będzie wynik działania programu?
$a = 5;
$b =& $a;
$a = 2;
echo $b;
Odp. 2
6. Jaki będzie wynik działania następującego programu?
$a = 4;
$b =& $a;
$c = 5;
$a = $c;
echo $b;
Odp. 5
7. Jaki będzie wynik działania programu?
$a = array(1,2,3);
$b =& $a[1];
$b = 5;
print_r($a);
Odp. Array ( [0] => 1 [1] => 5 [2] => 3 )
8. Jaki będzie wynik działania programu?
function abc(&$a, &$b) 
{
	$a =& $b;
}
$a = 1;
$b = 2;
abc($a, $b);
echo 'a='.$a.' b='.$b;
Odp. a=1 b=2
9. Jaki będzie efekt wykonania programu?
function &a()
{
	echo 'a';
}
echo a();
Odp. a Notice: Only variable references should be returned by reference
10. Jaki będzie wynik działania programu?
$a = 5;
$b =& $a;
unset($a);
echo $b;
Odp. 5