関数を使用しない場合のコードは次のとおりです:
$lists = array();for( $i = 0; $i < 5 ; $i++ ){ $lists[] = $i;}echo json_encode($lists);
$lists = array();function testarray(){ for( $i = 0; $i < 5 ; $i++ ) { $lists[] = $i; }}testarray();echo json_encode($lists);
関数内で変数を直接使用しても、自動的にグローバル スコープが設定されるわけではなく、明示的に Global を宣言する必要があります。
$lists = array();
function testarray()
{
global $lists;
for( $i < 5 ; $i++ )
{ $lists[] = $i ;
}
}
testarray();
グローバル変数の使用による混乱を避けるためにパラメータを渡すこともできます。
global を使用してグローバル変数を呼び出すこともできますが、これはお勧めしません。
パラメータを渡す方が良いでしょう。
れー