私の PHP Web ページには、グローバル配列があります。
$test = array();
次に、この関数を呼び出します。
function f ()
{
global $test;
init( $test );
$test['foo'] // Error: undefined index "foo"
}
次に、この関数を呼び出します。
function init ( $test )
{
$test['foo'] = 'bar';
$test['foo'] // evaluates to'bar'
}
ご覧のとおり、エラーが発生します。内部の配列に追加した「foo」フィールドが保持されinit()
ませんでした。なぜこれが起こるのですか?$test
内部のグローバルを変異させていると思ってinit()
いましたが、そうではないようです。ここで何が起こっているのinit()
ですか?どうすれば持続する「foo」フィールドを内部に設定できますか?