PHPでは、環境変数が設定されているかどうかをテストするにはどうすればよいですか? )これは、あなたが(PHPで環境変数が設定されているかどうかを確認するにはどうすればよいですか?
if($ip = getenv('REMOTE_ADDR'))
echo $ip;
このような
getenvを確認することができます
$var = getenv(MYVAR)
if(isset($var)) {
} else {
}
PHPでは、環境変数が設定されているかどうかをテストするにはどうすればよいですか? )これは、あなたが(PHPで環境変数が設定されているかどうかを確認するにはどうすればよいですか?
if($ip = getenv('REMOTE_ADDR'))
echo $ip;
このような
getenvを確認することができます
$var = getenv(MYVAR)
if(isset($var)) {
} else {
}
getenv()
環境変数が設定されていない場合はfalse
を返します。次のコードは動作します:
// Assuming MYVAR isn't defined yet.
getenv("MYVAR") !== false; // returns false
putenv("MYVAR=foobar");
getenv("MYVAR") !== false; // returns true
はgetenv()
は通常ブールとしてキャストすることができ、文字列を返すため、厳密な比較演算子(!==
)を使用してください。
環境変数の値を返します:私はこのような振る舞いをしたいと思います。
を必要とするものである
// Assuming MYVAR isn't defined yet.
isset(MYVAR); // returns false
putenv("MYVAR=foobar");
isset(MYVAR); // returns true
'REMOTE_ADDR'は常に設定されていませんか?私の場合は、サーバーに環境変数が設定されているかどうかに応じて、異なる動作が必要なスクリプトを作成しています。 – wecsam
@wecsam REMOTE_ADDRは、別の環境変数を渡すことができる例です。 –
環境変数が設定されていない場合、 'getenv()'は 'false'を返します。私はそれがあなたのコードが説明しようとしているものだと思っています。ただし、コードにはいくつかの問題があります。まず、 '='をほとんど意味していたので、 '='代入演算子を 'if'条件文で使うのを避けようとします。もう一つは、環境変数の値が空の文字列で 'false'にキャストされるため、厳密な比較演算子を使用する必要があります。 – wecsam
この場合、 'isset($ var)'は常にtrueです。 – wecsam
getvar()は設定されていないとfalseを返すので、$ varは設定されているがfalseに設定されているため、issetは常にtrueを返します。 – nickdnk