问答详情
源自:4-1 PHP-什么是常量

变量和常量的赋值

<?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?


提问者:祥子zZ 2015-09-18 12:02

个回答

  • 晚安sp
    2015-09-18 12:52:59
    已采纳

    <?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

  • 祥子zZ
    2015-09-21 09:38:17

    <?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; //输出为常量

    ?>

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

  • 祥子zZ
    2015-09-21 09:37:31

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