$layers
関数内からアクセスする必要がありますisOk($layer)
が、関数変数の外側で試したことはすべて$layers
問題ありませんが、関数内では、グローバルであっても null が返されます。
コードは次のとおりです。
$layers = array();
foreach($pcb['PcbFile'] as $file){
if(!empty($file['layer'])){
$layers[$file['layer']] = 'ok';
}
}
// Prints OK!
var_dump($layers);
function isOk($layer){
global $layers;
// Not OK! prints NULL
var_dump($layers);
if(array_key_exists($layer, $layers))
return ' ok';
return '';
}
// NOT OK
echo isOk('MD');
私は常にオブジェクト指向を使用していますが、これは単純な関数で作成した非常に単純なものでした...$layers
関数内で正しく「受信」されないのはなぜですか?