我在我的腳本中使用isset(),如果我使用一個常量而不是一個變量,那麼似乎會引發一個致命錯誤。爲什麼當我用isset()引發一個常量致命錯誤?
我的問題: 爲什麼當我用isset()引發一個常量致命錯誤?
<?php
switch($current_page) {
case 'kb':
define('TITLE', 'Knowledge Base');
break;
case 'edit':
define('TITLE', 'Edit');
break;
case 'new':
define('TITLE', 'New');
break;
}
...
...
...
if (isset(TITLE)) {
echo "<h1>".TITLE."</h1>";
}
我跑了一些測試,看看,無論是常量和變量具有相同的數據類型:
define('TITLE', 'Test');
$title = 'Test';
var_dump(TITLE); // string(4) "Test"
var_dump($title); // string(4) "Test"
我檢查http://php.net/manual/en/language.constants.php並沒有看到任何會考慮到這一點。