仕様らしい。
<?php
function testRef(&$a) {
$args = func_get_args();
$args[0] = 1;
}
testRef($a);
var_dump($a); //->null
func_get_arg()を使うと、あらかじめ参照渡し宣言がされている引数については参照で受け取り、それ以外は値渡しになります。
<?php
function testRef(&$a) {
$arg1 = func_get_arg(0);
$arg1 = 2;
}
testRef($b);
var_dump($b); //->2