亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

初學者 不知道想法對不對,請幫忙看一下.

初學者 ?不知道想法對不對,請幫忙看一下.

<?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的操作 不僅沒有用 反而會讓人誤會


正在回答

3 回答

$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還是個變量

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

慕粉3554844 提問者

constant($p)=3.14返回字符串對應常數值嗎
2016-07-12 回復 有任何疑惑可以回復我~

在設定以后,常量的值無法更改

常量名不需要開頭的美元符號 ($)

作用域不影響對常量的訪問

常量值只能是字符串或數字

http://www.w3school.com.cn/php/func_misc_define.asp


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

在設定以后,常量的值無法更改

常量名不需要開頭的美元符號 ($)

作用域不影響對常量的訪問

常量值只能是字符串或數字

http://www.w3school.com.cn/php/func_misc_define.asp

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

慕粉3554844 提問者

在例子中echo $p的話 得到是字符串PI1 并不是我們之前定義的常量PI1=3.14 上面這一點對不對? 例子中就算沒有定義define("PI1",3.14);這一步結果也是不變的, 因為下面根本沒有用到這一條件 這個對不對? 被弄迷糊了
2016-07-12 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消
PHP入門篇
  • 參與學習       456423    人
  • 解答問題       6590    個

PHP入門教程輕松學習,行業大牛幫您快速掌握PHP編程基礎知識。

進入課程

初學者 不知道想法對不對,請幫忙看一下.

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號