我正在浏览一个我的GitHub项目 在此期间,我发现hp确实支持变量名中的连字符/短划线( - )。
$var-a=2;
任何人都可以告诉我原因吗? 这是因为它是算术运算符吗? 他们的任何其他符号是否不受php支持?
答案 0 :(得分:3)
变量名遵循与PHP中其他标签相同的规则。一个有效的 变量名以字母或下划线开头,后跟任意名称 字母,数字或下划线的数量。作为正则表达式, 这样表达:
'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'
答案 1 :(得分:3)
这是因为连字符与减号相同。
我们采取一种方案:
<?php
define('name', 2);
$var = 5;
# Now when you write those combined.
$var-name; # This is actually $var minus name which is a constant.
# Same format as $var1-$var2. Except for this case there is a constant in place of $var2.
?>
这是变量中没有连字符的主要原因。
答案 2 :(得分:0)
使用命名约定的原因(与允许程序员选择任何字符序列相反)包括以下内容:
- 减少阅读和理解源代码所需的工作量
- 使代码审查能够专注于更重要的问题,而不是争论语法和命名标准。
- 启用代码质量审核工具,使其报告主要集中在语法和样式首选项以外的重要问题上。
- 增强源代码外观(例如,通过禁用过长的名称或不清楚的缩写)。