関数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);
ただし、結果は変わります。
配列 (( )。
この短いコードスニペットが異なる結果をもたらすのはなぜですか?