php的可变变量

${@phpinfo()}  可以直接执行phpinfo的函数。但是为什么要用到@呢?经过查找资料后发现,这个是php的可变变量

首先花括号内直接就是phpinfo(),phpinfo函数是不会执行的!

而以下的几种例子,phpinfo函数执行了

1,花括号内第一个字符是空格

复制代码代码示例:

2,花括号内第一个字符是tab

复制代码代码示例:

3,花括号内第一个字符串是注释

复制代码代码示例:

4,花括号内第一个字符是回车

复制代码代码示例:

5,花括号内第一个字符是@

复制代码代码示例:

可变变量内的花括号就是再次解析语法,然后这个解析语法的关键条件是花括号内的第一个字符!,空格,tab,注释,回车是各种语法分析引擎中常见的分割字符,@是PHP语法的一个特殊的容错符号,所以可变变量内的花括号有这么一个规则,需要判断花括号内的内容是否为真正的代码,条件即是文本的第一个字符串是否为PHP语法解析引擎的分割字符和特殊的语法符号。

参考文章:http://www.jquerycn.cn/a_23940

你可能感兴趣的:(php的可变变量)