関数を定義する時のパラメータに、「&」を付ける事で、渡されたパラメーターが「参照渡し」である事を指定出来る。

<?php
function capitalize(&$str){
$str = strtolower($str);
$str = ucwords($str);
}
$str = "hELlo WoRLd";
capitalize($str);
echo ($str);
?>

上記を出力すると、

Hello World

と出力される。赤文字の&が無かったら、echo($str)は、変数として定義された”hELlo WoRLd”が出力されてしまうけど、関数capitalizeに、パラメーターを参照渡しで渡しているので、関数内でのローカル変数ではなく、直接変数として定義された$strに対して処理を行って、その後echoで出力している。