慕粉3554844
2016-07-12 10:46
初学者 不知道想法对不对,请帮忙看一下.
<?php
define("PI1",3.14);
$p = "PI1";
$p1 = PI1;
$is1=defined($p);
$is2=defined("PI2");
$is3=defined($p1);
var_dump($is1); //bool(true)
var_dump($is2); //bool(false)
var_dump($is3); //bool(false)
var_dump($p); //string(3) "PI1"
var_dump($p1); //float(3.14)
echo $p."<br/>"; //PI1
echo $p1."<br/>";//3.14
echo PI1."<br/>";//3.14
echo "PI1"."<br/>";//PI1
echo $is1."<br/>"; //1
?>
写了这一段,因为发现例子中 并没有将$p赋值自定义常量 PI1=3.14,只是赋值了一个字符串PI1
而上面代码中$p1才被赋值自定义常量 PI1=3.14,但是defined 却显示false
例子里面define的操作 不仅没有用 反而会让人误会
$p = "PI1"; $is1=defined($p); var_dump($is1); //bool(true) var_dump($p); //string(3) "PI1"
$p相当于赋值字符串,不是定义常量
define("PI1",3.14);
$p1 = PI1; $is3=defined($p1); var_dump($is3); //bool(false) var_dump($p1); //float(3.14)
$p1通过接受已定义常量PI1的值3.14,但是没接受定义常量的过程,所以$p1还是个变量
在设定以后,常量的值无法更改
常量名不需要开头的美元符号 ($)
作用域不影响对常量的访问
常量值只能是字符串或数字
http://www.w3school.com.cn/php/func_misc_define.asp
在设定以后,常量的值无法更改
常量名不需要开头的美元符号 ($)
作用域不影响对常量的访问
常量值只能是字符串或数字
http://www.w3school.com.cn/php/func_misc_define.asp
PHP入门篇
455957 学习 · 6306 问题
相似问题