今天在开发过程中,遇到两种分号的神奇问题,特此记录。
<?php
echo '我是正常的分号';
echo '我是神奇的分号';
?>
用肉眼无法分辨两种分号的区别,如果你使用 win
平台,上面两条语句都可以运行。但是如果你是 unix
或是 linux
则是语法错误。
根本原因是这是两种分号,他们的字符编码不同,win
同时支持这两种分号,而 unix
或是 linux
只支持其中一种。
这个现象和字母的大小写很类似,win
不区分大小写,而 unix
或是 linux
区分大小写。
使用下面这段代码就可以证明我们的猜想
<?php
if (';' == ';'){
echo '相等';
} else {
echo '不相等';
}
?>