It passes only by reference, not by value.
This allows the function to modify variables outside its scope, in the scope of the calling function.
For example:
function addOne( &$val ) { $val++; } $a = 1; addOne($a); echo $a;
In the case of the preparse_tags function preparse_tags it allows the function to return parsed tags, but allows the parent call to receive any errors without having to check the format / type of the return value.
Reese moore
source share