问答详情
源自:4-5 PHP-如何判定常量是否被定义

运行成功 输出错误

<?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 15:39

个回答

  • 慕粉2561103
    2019-05-24 17:05:51

    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,他的性质都不变的