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

变量和常量的赋值

<?php

$p = "PII";

define("PI",3.14);

define($p,3.14);

echo PI;

echo "<br />";

echo PII;

echo "<br />";

echo $p;

?>

输出结果为:

3.14
3.14
PII

这个例子可以发现:

在 $p="PII"后,define($p,3.14) 实际上是 define("PII',3.14),而 $p仍然是等于 PII;

同时尝试了将例子中的PI和PII去除引号,发现结果一样;

想不明白的主要有两点:

1、赋值过程中 加不加引号的区别?

2、$p="PII" 后,实际等于是将变量 $p的至赋值给常量PII?


正在回答

3 回答

<?php
define("PI",3.14);
define("PII",3.14);
$p = PII;
echo PI;
echo "<br />";
echo PII;
echo "<br />";
echo $p;
?>

这样运行的结果就是3.14 3.14 3.14,你在把$p = PII;加上引号你就知道区别了,加上引号就是字符串不加就是常量,还有$p="PII"的意思是将字符串PII赋值给变量$p

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

千年老鸭

$p = PII;加上引号就是字符串不加就是常量,PII是系统常量还是自定义常量?加上引号就是字符串变量不加就是常量?
2015-09-22 回复 有任何疑惑可以回复我~
#2

千年老鸭

define($p,3.14); 这个里面的$p 是变量还是常量?
2015-09-22 回复 有任何疑惑可以回复我~

<?php

$p = PII; //$p赋值为常量PII

echo $p; //输出为常量,此时为PII本身

echo "<br />";

define("PI",3.14);

define("PII",3.14);//

$p ="PII"; //$p赋值为字符串的PII

echo PI;

echo "<br />";

echo PII;

echo "<br />";

echo $p; //输出为字符串PII

echo "<br />";

$p = PII; //$p赋值为常量PII,此时PII已定义为3.14

echo $p; //输出为常量

?>

这个例子应该可以解释得明白了。

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

千年老鸭

第二行echo $p; //输出为常量,此时为PII本身 你这里哪里定义$p是常量了?
2015-09-22 回复 有任何疑惑可以回复我~
#2

千年老鸭

你的理解完全不对。。。
2015-09-22 回复 有任何疑惑可以回复我~
#3

祥子zZ 提问者 回复 千年老鸭

$p = PII; //$p赋值为常量PII echo $p; //输出为常量,此时为PII本身 例子里所说的常量,只是为了和字符串做区分。 意思是$p = PII;将PII赋值给了$p,第二句echo $p;时,输出的为PII,而这个PII是一个常量。 如果理解的不对,可以赐教下,谢谢。
2015-09-23 回复 有任何疑惑可以回复我~

又测试了几次,发现在$p="PII"后,对于"PII"的赋值,是不会影响到$p的值的。感谢您的解答!

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

举报

0/150
提交
取消

变量和常量的赋值

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信