我一直认为所有 php 函数都必须以[a-zA-Z]
.
例如,这将起作用:
function a1() {
return "Something, because I'm written properly.";
}
...虽然这不会:
function 1a() {
return "Nothing, because you'll encounter an error before this function ever runs.";
}
然而,作为结果显示的字符rawurldecode('%E2%80%A9')
,当显示它的文档具有声明的 UTF8 内容类型时,也可用于定义函数。
在不显示隐藏字符的文本编辑器中,它最终看起来该函数已被定义为function () {
然后可以通过调用来执行(看起来不超过)();
我无法粘贴源代码并让它仍然正确显示,所以这里有一些屏幕截图。第一个是在我的浏览器中显示的屏幕截图,第二个是在我的文本编辑器 (TextWrangler) 中显示的实际源代码的屏幕截图,其中显示隐藏字符打开:
浏览器:
源代码:
我的问题:这是故意的吗?我是否应该能够使用非打印字符定义函数/变量并且仍然让它们完美地工作?如果是这样,它是否记录在某处?
我找不到任何关于它的信息,但我(显然)并不知道一切。
谢谢!