php {变量}

要将可变变量用于数组,必须解决一个模棱两可的问题。这就是当写下 $$a[1] 时,解析器需要知道是想要 $a[1] 作为一个变量呢,还是想要$$a 作为一个变量并取出该变量中索引为 [1] 的值。


看以下情况 当 echo "$arr[3][0]"; 时,应为echo 是一个php语句只解析简单的int,string,会把$arr[3][0]当成字符串处理,而双引号会解析变量$arr[3],最后就变成 echo $arr[3]的值和字符串[0]的拼接,$arr[3]是一个结构数组,所以出现notice。

<?php
$arr =array(1,2,3,array(4,5),6);

echo $arr[3][0];//4
echo "<br />";
echo "$arr[3][0]";//Notice: Array to string conversion in D:\wamp\www\test.php on line 5 Array[0]
echo "<br />";
echo " '$arr[3][0]' ";//Notice: Array to string conversion in D:\wamp\www\test.php on line 5 Array[0]
echo "<br />";
echo " {$arr[3][0]} ";//4
?>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 什么是变量覆盖漏洞 自定义的参数值替换原有变量值的情况称为变量覆盖漏洞 经常导致变量覆盖漏洞场景有:$$使用不当,...
    nice_o阅读 16,547评论 5 2
  • 一、php可以做什么 php是一种可以在服务器端运行的编程语言,可以运行在Web服务器端。 php是一门后台编程语...
    空谷悠阅读 3,155评论 4 97
  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 4,781评论 0 11
  • 以下是我的第2期成长周记(2017.10.29~2017.11.05) 本周金句 只有践行才能找到关键的细节。有计...
    画圆Circle阅读 337评论 7 2
  • 1 一直在看新项目的图纸和相关文件。 新场开工,百废俱兴。说实话,很多东西都不清楚、不明白,即便自己已经在新加坡这...
    晟治弗利阅读 283评论 1 4