点号的疑惑
PHP code
<!--
Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/
-->
echo '1+5='.1; //为什么这么写会报错
echo '1+5='. 1; //这句却能执行
echo '1+5='.(1);//外面弄个括号却又行了
------解决方案--------------------
.和数字相邻时,会被识别为小数
而且小于1的小数可以省略开始的0,比如0.1写成.1是合法的
所以 '1+5'.1 被解析成两个相邻的常量,它们之间没有运算符,自然会报错.
类似的,1."abc"也会报错
------解决方案--------------------.和数字相邻时,会被识别为小数,正如二楼所说。
echo '1+5='. 1; //这句却能执行。.在PHP是连接符的意思,是进行字符串连接的意思。
------解决方案--------------------如hengyu654所说,"."直接接数字的时候并不作为字符串并置符处理,而是作为小数点处理
如下:
PHP code
echo "thr"."ee"; //输出字符串"three"
echo "twe" . "lve"; //输出字符串"twelve"
echo 1 . 2; //输出字符串"12"
echo 1.2; //输出数字1.2
echo 1 ..2; //输出字符串"10.2" <div class="clear">
</div>
Stellungnahme:Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn