扫描二维码,下载安卓APP
下载安卓APP箭头
客服QQ
箭头给我发消息

客服QQ:2698585038
论坛 >编程语言 >PHP老师没教过你的那些知识点

PHP老师没教过你的那些知识点

希尔瓦娜斯发布于 2017-07-05 09:47查看:9040回复:1

        另类的写法有惊喜

        我们在阅读某些源代码的时候会发现有一种另类的写法,比如

1499218898818226.jpg

        其实这是一种很聪明的写法,它可以很大程度上杜绝手误造成的严重bug。 假如我们在正常方法中把 == 误写成 = ,那么if($result = false) 就会恒定返回true,导致在实际运行中产生未知的Bug,如果使用异常的写法出现手误变成时if(false = $false) ,编辑器会抛出一个error,我们就可以及时发现并修复问题。

‘<?php’开始前不要有空行,php脚本结尾的 ‘?>’ 尽量省略

        假如有一个文件在 ?> 后有一个空白行,那么你在使用 session_start() 等方法时,会返回一个警告headers already sent by xxx ,这是因为 session_start() 要求使用前不能有任何输出。 同理 <?php 前的空行也会存在同样的问题。

    字符串和数字在一起时,要留神

1499218937234509.jpg

        解决的方案比较简单,只要在.连接左右加上空格就可以防止语法错误。

1499218968135593.jpg

        这个例子中输出true是不是让你大吃一惊,其实php中将字符串和数字做比较时,会把字符串强制转换为int性,转换规则为 如果字符串是数字开头,那么取开头数字作为转换结果,如果开头不是数字那么就为0

      字符串的运算,你惹不起

1499219093724892.jpg

        你以为会输出从a到z?那你就错了,亮瞎你的输出结果如下:

1499219135316852.jpg

        时刻小心精度丢失的情况

        

1499219225754979.jpg

        精度丢失的问题在其他语言中有会有,但是在PHP这种弱类型的语言中更加需要注意。

收藏(0)0
查看评分情况

全部评分

此主贴暂时没有点赞评分

总计:0

回复分享

版主推荐

    共有1条评论

    • 课课家运营团队
    • Mr ken
    • YUI
    • cappuccino
    • mr jack
    • IT宅男
    • Mright
    • 选择版块:

    • 标题:

    • 内容

    • 验证码:

    • 标题:

    • 内容

    • 选择版块:

    移动帖子x

    移动到: