It's strange that function definition AND call to the same function must have "&" before them.
$arr = array();
$ref =& oras($arr['blah'], array());
$ref []= "via ref";
print_r($arr);
/* result
Array
(
[blah] => Array
(
[0] => via ref
)
)
*/
// perl like ||=
function &oras (&$v, $new) {
$v or $v = $new;
return $v;
}