関数my_func
が次のように定義されている場合:
function my_func(&$arr) {
array_push($arr, 0);
array_push($arr, 1);
array_push($arr, 2);
array_push($arr, 3);
array_push($arr, 4);
}
次のように呼び出すmy_func
と、結果は期待どおりです。
$test_array = array();
my_func($test_array);
print_r($test_array);
結果:
配列 (( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 )。
my_func
次のように呼び出すことで、このコードをいくらか短縮できると考えていました。
my_func($test_array = array());
print_r($test_array);
ただし、結果は変わります。
配列 (( )。
この短いコードスニペットが異なる結果をもたらすのはなぜですか?