3
A
回答
10
manual表示,isset()
返回是否設置了「[...]變量並且不是NULL」。
常量不是變量,所以你不能檢查它們。你可以試試這個,雖然:
define('FOO', 1);
if (defined('FOO') && 1 == FOO) {
// ....
}
所以,當你的常量定義爲一個空字符串,你首先要檢查,如果它實際上defined
然後檢查其值('' == MY_CONSTANT
)。
0
檢查內部是否有東西可以使用(自PHP 5.5起)空函數。爲了避免錯誤,我也會檢查它是否在裏面。
if(defined('FOO')&&!empty(FOO)) {
//we have something in here.
}
因爲空還評估最false
般的表現(如 '0',0和其他的東西看http://php.net/manual/de/function.empty.php更多)爲 '空'
你可以試試:
if(defined('FOO') && FOO) {
//we have something in here.
}
這應該可能與更多的版本工作(可能在任何地方你可以得到優達條件運行)
爲更嚴格的檢查,你可以這樣做:
if(defined('FOO') && FOO != '') {
//we have something in here.
}
0
假設你分配常數(它不是限定恆定的系統)中使用下面的:
if(array_key_exists("MY_CONSTANT", get_defined_constants(true)['user'])){
echo MY_CONSTANT; //do stuff
}
此操作,因爲的get_defined_constants(true)
陣列結果是陣列中的所有定義的常量的,並且您定義的任何內容都存儲在子陣列['user']
中。
查看manual。
相關問題
- 1. 使用未定義的常量的不isset補救
- 2. isset中的未定義變量()
- 3. 使用未定義常量
- 4. 未定義常量
- 5. 使用isset(),但仍然得到未定義的索引
- 6. 爲什麼如果我不放置isset,$ bgprofiles是未定義的?
- 7. 如果在一個WHILE(使用未定義的常量)
- 8. 未定義的變量,即使使用isset
- 9. 未定義常量ParseConfig
- 10. 未定義類常量「FILTER_POS_FOOTER」
- 11. 未定義常量問題
- 12. 未定義類常量「FOLLOW_SYMLINKS
- 13. 未定義常量WP_PLUGIN_URL
- 14. 未定義類常量「MYSQL_ATTR_INIT_COMMAND」
- 15. PHP未定義常量PHP_ROUND_HALF_DOWN
- 16. 未定義類常量METH_GET
- 17. 「使用未定義的常量CURLOPT_PROTOCOLS和CURLPROTO_HTTP」但它有效嗎?
- 18. 變量結果未定義
- 19. 未定義指數:FUNC isset是本
- 20. 「使用未定義的常量的」通知,但不變應定義
- 21. 類似於「如果constexpr」但類定義
- 22. 使用未定義的常量
- 23. 使用未定義的常量?
- 24. 注意:使用未定義的常量
- 25. 使用未定義的常量CRYPT_SHA512
- 26. 使用未定義的常量MCRYPT_BLOWFISH
- 27. 使用未定義的常量(TEXT)
- 28. Yii ::使用未定義的常量
- 29. 使用未定義的常量APPLICATION_ENV
- 30. Codeigniter消息:使用未定義常量
你可能想指出你正在談論哪種語言...... –
這個PHP有關嗎? –
是的,它是PHP,對不起。 – Cameleon