php变量"."

 我来答
帖琼茹良畴
2019-12-10 · TA获得超过3727个赞
知道大有可为答主
回答量:3147
采纳率:32%
帮助的人:204万
展开全部
第一个问题的确需要仔细分析:
①首先,你得知道,在双引号中的字符串输出时,变量必须得用它的值取代:如$a=100;
就有"$a"="100";
②其次,php在读双引号中的内容时,一旦遇到$,就希望找到一个最可能的变量。现在看"a
banana
is
$fruits[banana].";这一句,php顺着$往下找找到了[,[是数组索引的标志,如果在找到与之配对的]之前不出现非法字符,php很自然的就把整个式子$fruits[banana]当成了整个变量,所以这样写是对的
③与②对应的"a
banana
is
$fruits['banana'].";错在哪应给就清楚了吧?php找到[之后,觉得这是个数组,但紧接着它又找到了',这是他不能够接受的,如果它仍旧把$fruits['banana']当做变量,就会出现变量名字里边出现非法字符'和'的错误。注意这些都是在双引号里边给以讨论的
④那为什么
"a
banana
is
{$fruits['banana']}.";
就可以呢?因为{}的意思我们应该都了解的,用在语法里边{}就像是一个个语句岛,除了全局变量和常量,{}里边的东西和{}外边的东西基本是隔绝的,也就是说{}里边的语法是不受外边的双引号影响的。所以写法就符合平常的语法了
⑤其实{$fruits['banana']}是正确的而{$fruits[banana]}是错误的,但为什么php不报错呢?对php而言,数组的[]里边只能是字符串和int值,那么$fruits[banana]是什么呢?php里边带$的是变量,加单引号或者双引号的是字符串,那么banana会是什么呢?对了,是常量!php觉得你这里写的banana是个值可能为int或字符串的常量,所以它觉得写的挺合理的。但是你实际上并没有定义这个常量,所以肯定会出错的
至于你的第二个问题,这是php的字符串连接问题。$fruits['banana']的值是一个字符串,那么当你把它和另一个字符串"echo
a
banana
is
"接在一起的时候肯定的需要特定的符号了。一般的语言用的是+,php用的是.
你直接打印这个字符串当然是可以的了。
怎么样?解释的够清楚吧?可以给分了吧?呵呵,打字快累死了,要劳有所得啊,还有什么问题的话联系我,我们再讨论!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式