運行成功 輸出錯誤
<?php?
define("PI1",3.14);
$p = "PI1";
$is1=defined($p);
$is2=defined("PT2");
echo $p;?
echo "<br>";
var_dump($is1);
var_dump($is2);
?>
$p輸出后 已經是個字符串了。為何還會被defined判斷 是否是一個常量存在?
<?php?
define("PI1",3.14);
$p = "PI1";
$is1=defined($p);
$is2=defined("PT2");
echo $p;?
echo "<br>";
var_dump($is1);
var_dump($is2);
?>
$p輸出后 已經是個字符串了。為何還會被defined判斷 是否是一個常量存在?
2019-05-24
舉報
2019-05-24
echo $p; 這會輸出時,相當于輸出變量名為P的變量,p變量的值是"PI1"。
var_dump($is1);相當于下邊
var_dump(defined($p));也就是var_dump(defined(PI1));判斷這個是不是true
上邊說的echo $p; 輸出后變成字符串了,這里并沒有改變什么。沒有改變數據類型內容啥的,echo只是單純的輸出。
你可能理解為echo輸出后$p就不再是$p了,就是PI1了,$p這個變量用完就銷毀了或者說改變了。這是整體用的變量,只要不是被重新賦值$p=abc,他的性質都不變的