我不认为自己是PHP专家,但我设计了几个页面,现在每个页面包含几千行代码。对于我当前用于游戏网站的项目,我回顾了包含行
的现有函数$M–;
现在我对PHP的基本理解告诉我这不起作用,因为它应该是 - 简而言之-1。但它不是破折号,脚本运行时没有错误(error_reporting (E_ALL)
),但在之前和之后回显$M
给我相同的值。
那么它做了什么以及为什么我没有收到错误?
答案 0 :(得分:6)
这是一个短划线,PHP只是一个没有特定含义的随机字节。 $M–
或UTF-8编码4DE28093
是有效的变量名称。就像$漢字
。
单个变量本身只是将该变量初始化为该行不执行任何操作null
(如果它尚不存在), else。 < / p>
答案 1 :(得分:2)
的代码将导致通知。首先,因为这不是减号–
vs -
&lt; - 不同(除非您定义了变量名称M–
)。
第二,即使它是一个减号,它也会吐出一个通知。
如果它只是显示你没有正确启用完整的错误报告,或者你在变量名中使用unicode字符只是为了与其他人阅读你的代码(包括你自己)。 ;)
<强>更新强>
我误读了你的代码。发生的情况是,您在执行该行时初始化变量M–
,因此M–
将为null
。
答案 2 :(得分:-1)
看起来它可能会将其解释为$M - null;
$ M基本上减零。哪个什么都不做?