为了账号安全,请及时绑定邮箱和手机立即绑定

<?php
define("PI1",3.14);
$p = "PI1";
$is1=defined($p);
$is2=defined("PI2");
var_dump($is1);
var_dump($is2);
?>

这里define("PI1",3.14);应该是定义一个常量。

$p = "PI1"; 是定义一个变量

为什么var_dump($is1);得到的会是true?$p不是一个变量吗?


正在回答

2 回答

defined()函数可以帮助我们判断一个常量是否已经定义,它只有参数constant_name,指的是要获取常量的名称,若存在则返回布尔类型true,否则返回布尔类型false; 请注意defined()函数的返回值

0 回复 有任何疑惑可以回复我~
#1

ybbzbb 提问者

非常感谢!
2014-12-02 回复 有任何疑惑可以回复我~

是对象混淆了,var_dump($is1)是表示要取得变量$is1的类型,而$is1对应的语句为:$is1=defined($p),$p的值为“PI1”,所以最终的结果是判断常量"PI1",“$p”只是个名字,可以参考:http://www.imooc.com/qadetail/42856同样也是sophia的回答....

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信