課程
/后端開發(fā)
/PHP
/PHP入門篇
為什么echo $p;和 echo PII;結(jié)果不一樣?@witkeysu。你解釋的有問題吧,自己看半天才看懂是不是看半天也理解錯了?請老師出山講解吧。
2017-03-11
源自:PHP入門篇 4-1
正在回答
這個其實就是在定義常量的時候,常量名用的是預(yù)先定義的變量名,在定義的時候,變量名解析出變量值,變量值成了常量名。
最佳回答
2016-12-29
其實這就是兩種定義常量的方式,首先第一種很直觀,也很好理解:define("PI",3.14),這就話就是定義常量名為PI的常量并賦值3.14。
第二種定義常量的方式有些復(fù)雜,但是很靈活。$p?= “PII”;define($p,3.14); ?這兩句的第一句可以理解為定義一個變量,變量的值為PII,第二句就是定義常量的語句了,這時就不能再把$p當(dāng)成一個常量對待,而是把它當(dāng)成一個快捷鍵(其實常量變量都是快捷鍵,你直接找他們就能找到他們指向的值),定義常量的時候,需要用到該快捷鍵的真實值,所以需要往上面找,該快捷鍵的值,也就是PII了,所以這時候的$p就是PII。
之所以說第一種簡單,第二種靈活,是有原因的,你可以考慮一下,如果我定義了很多個常量,或者我一個常量用了很多次,現(xiàn)在突然有個情況讓你修改你的變量名,你該怎么辦?如果是第一種就需要修改每一個常量名,如果是第二個定義方法的話,就只需要修改一處就好了,就是修改常量的快捷鍵。 ?
希望能夠幫到你,你能看懂我說的話,我想基本也能解決你的問題了。
自己發(fā)現(xiàn)正確的答案。大家看下應(yīng)該就懂了。
整理了一下我的問題,請高手幫忙解答一下
<?php
$p?= “PII”;?
define($p,3.14);??
echo?$p;?//?1.?這里為什么輸出會是PII,define?不起作用了?
//?2.?先定義p為字符串 PII,?后面又定義它為常量3.14,可以這樣用?
輸出結(jié)果是 PII
echo?$p;?//?這樣寫,?直接報錯,?為什么?
//?我開始的理解是?$p未聲明,?但是下面的例子又可以正常顯示,?這兩個例子唯一的區(qū)別是?$p和?“PI”
?
define("PI",3.14);?//?事先未對PI進行聲明
// 這里其實也有問題, PI為字符串, ?不是變量 , 字符串 能定義為一個數(shù)值? 感覺很奇怪。
echo?PI;
echo?"<br?/>";
能正常輸出,?結(jié)果為??3.14
$p?=?"PII";???
define($p,3.14);???//按道理,?執(zhí)行到這一步,?p的值應(yīng)該是?3.14?而不是?PII了
echo?$p.”<br/>“;?//這里為什么輸出會是PII,?$p=3.14?的作用去哪了?
echo?PII;??//?PII不是應(yīng)該只是一個字符串??怎么成一個變量了
輸出結(jié)果為:
PII
3.14
2016-12-27源自:PHP入門篇 4-1175 瀏覽3 回答
冰是很冰
舉報
PHP入門教程輕松學(xué)習(xí),行業(yè)大牛幫您快速掌握PHP編程基礎(chǔ)知識。
4 回答求解輸出echo $p和echo constant$p的結(jié)果為什么不同?
3 回答為什么echo PII出來的結(jié)果是3.14呢
6 回答為什么當(dāng)我echo $p時 輸出pii 而不是3.14
1 回答問題:因為"PII"為字符類型,那么輸出時候為什么不是 echo "PII"而是 echo PII ;
3 回答echo $p
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網(wǎng)安備11010802030151號
購課補貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號
2017-03-11
這個其實就是在定義常量的時候,常量名用的是預(yù)先定義的變量名,在定義的時候,變量名解析出變量值,變量值成了常量名。
2017-03-14
最佳回答
2016-12-29
其實這就是兩種定義常量的方式,首先第一種很直觀,也很好理解:define("PI",3.14),這就話就是定義常量名為PI的常量并賦值3.14。
第二種定義常量的方式有些復(fù)雜,但是很靈活。$p?= “PII”;define($p,3.14); ?這兩句的第一句可以理解為定義一個變量,變量的值為PII,第二句就是定義常量的語句了,這時就不能再把$p當(dāng)成一個常量對待,而是把它當(dāng)成一個快捷鍵(其實常量變量都是快捷鍵,你直接找他們就能找到他們指向的值),定義常量的時候,需要用到該快捷鍵的真實值,所以需要往上面找,該快捷鍵的值,也就是PII了,所以這時候的$p就是PII。
之所以說第一種簡單,第二種靈活,是有原因的,你可以考慮一下,如果我定義了很多個常量,或者我一個常量用了很多次,現(xiàn)在突然有個情況讓你修改你的變量名,你該怎么辦?如果是第一種就需要修改每一個常量名,如果是第二個定義方法的話,就只需要修改一處就好了,就是修改常量的快捷鍵。 ?
希望能夠幫到你,你能看懂我說的話,我想基本也能解決你的問題了。
2017-03-11
自己發(fā)現(xiàn)正確的答案。大家看下應(yīng)該就懂了。
2017-03-11
整理了一下我的問題,請高手幫忙解答一下
<?php
$p?= “PII”;?
define($p,3.14);??
echo?$p;?//?1.?這里為什么輸出會是PII,define?不起作用了?
//?2.?先定義p為字符串 PII,?后面又定義它為常量3.14,可以這樣用?
輸出結(jié)果是 PII
<?php
define($p,3.14);??
echo?$p;?//?這樣寫,?直接報錯,?為什么?
//?我開始的理解是?$p未聲明,?但是下面的例子又可以正常顯示,?這兩個例子唯一的區(qū)別是?$p和?“PI”
?
<?php
define("PI",3.14);?//?事先未對PI進行聲明
// 這里其實也有問題, PI為字符串, ?不是變量 , 字符串 能定義為一個數(shù)值? 感覺很奇怪。
echo?PI;
echo?"<br?/>";
能正常輸出,?結(jié)果為??3.14
?
<?php
$p?=?"PII";???
define($p,3.14);???//按道理,?執(zhí)行到這一步,?p的值應(yīng)該是?3.14?而不是?PII了
echo?$p.”<br/>“;?//這里為什么輸出會是PII,?$p=3.14?的作用去哪了?
echo?PII;??//?PII不是應(yīng)該只是一個字符串??怎么成一個變量了
echo?"<br?/>";
輸出結(jié)果為:
PII
3.14
2016-12-27源自:PHP入門篇 4-1175 瀏覽3 回答
最佳回答
2016-12-29
其實這就是兩種定義常量的方式,首先第一種很直觀,也很好理解:define("PI",3.14),這就話就是定義常量名為PI的常量并賦值3.14。
第二種定義常量的方式有些復(fù)雜,但是很靈活。$p?= “PII”;define($p,3.14); ?這兩句的第一句可以理解為定義一個變量,變量的值為PII,第二句就是定義常量的語句了,這時就不能再把$p當(dāng)成一個常量對待,而是把它當(dāng)成一個快捷鍵(其實常量變量都是快捷鍵,你直接找他們就能找到他們指向的值),定義常量的時候,需要用到該快捷鍵的真實值,所以需要往上面找,該快捷鍵的值,也就是PII了,所以這時候的$p就是PII。
之所以說第一種簡單,第二種靈活,是有原因的,你可以考慮一下,如果我定義了很多個常量,或者我一個常量用了很多次,現(xiàn)在突然有個情況讓你修改你的變量名,你該怎么辦?如果是第一種就需要修改每一個常量名,如果是第二個定義方法的話,就只需要修改一處就好了,就是修改常量的快捷鍵。 ?
希望能夠幫到你,你能看懂我說的話,我想基本也能解決你的問題了。