look at this snippit:
$fruits = array ("d"=>"lemon", "a"=>"orange", "b"=>"banana", "c"=>"apple");
function test_alter (&$item1, $key, $prefix)
{
$item1 = "$prefix: $item1";
}
function test_print ($item2, $key)
{
echo "$key. $item2<br>\n";
}
array_walk ($fruits, 'test_print');
reset ($fruits);
array_walk ($fruits, 'test_alter', 'fruit');
reset ($fruits);
array_walk ($fruits, 'test_print');
can someone explain how is it that test_print function is called when not used in the form test_print() and parameters aren't even sent?