php中常见的大坑,开发中应尽量避免

php中常见的大坑,开发中应尽量避免

大家好,又见面了,我是全栈君。

1、不同系统获取的路径,文件名编码不同

2、32位和64位PHP最大值不同PHP_INT_SIZE,PHP_INT_MAX,intval

  • 输出下32位中PHP_INT_SIZE:4,PHP_INT_MAX:2147483647
  • 输出下64位中PHP_INT_SIZE:8,PHP_INT_MAX:9223372036854775807

3、filesize不能正确获取大于2G文件的大小

4、filesize缓存的问题,需调用clearstatcache

5、内部编码使用ansi

6、保存文件使用utf-8必须删除bom签名

7、json_encode只能支持utf-8编码

8、trim中有中文空格会引起乱码

9、strrchr仅能查找字符,不能查找字符串

10、foreach中的值使用引用会引起赋值,并且不会释放
    测试如下代码
    $a = array(1=>’one’, 2=>’two’);
 
    foreach ($a as $key => &$val) {}
    var_dump($a);
      
    foreach ($a as $key => $val) {} 
    var_dump($a);

11、含有字符的数字和数字比较有可能为真。
    测试如下代码
        ‘404abc’==404

12、count函数传入字符时,会自动将字符转换为数组将计算。
    测试如下代码
        count(false)
        count(null)

13、浮点运算时应注意丢失精度(PHP遵循IEEE 754双精度)
    测试如下代码
        floor((0.1+0.7)*10)
        intval( 0.58*100 )
        var_dump((8 – 6.4) == 1.6)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/111469.html原文链接:https://javaforall.net

(0)
上一篇 2022年2月20日 上午6:00
下一篇 2022年2月20日 上午7:00


相关推荐

  • EJB到底是什么?(通俗易懂白话文)

    EJB到底是什么?(通俗易懂白话文)1 我们不禁要问 什么是 服务集群 什么是 企业级开发 既然说了 EJB 是为了 服务集群 和 企业级开发 那么 总得说说什么是所谓的 服务集群 和 企业级开发 吧 这个问题其实挺关键的 因为 J2EE 中并没有说明白 也没有具体的指标或者事例告诉广大程序员什么时候用 EJB 什么时候不用 于是大家都产生一些联想 认为 EJB 分布式运算 指得是 负载均衡 提高系统的运行效率 然而 估

    2026年3月26日
    2
  • mac怎么上传文件到服务器_xshell上传本地文件到服务器

    mac怎么上传文件到服务器_xshell上传本地文件到服务器前言我们使用mac时,想让本地文件上传至服务器,该怎么办呢windows系统,我们可以使用xftp或者rz命令,那么mac呢?mac系统,我们可以使用sftp、scp或者rz命令,本文介绍sft

    2022年7月29日
    8
  • centos7.4安装docker_pythondocker

    centos7.4安装docker_pythondocker前言当我们在一台电脑上搭建了python3.6的环境,下次换台电脑,又得重新搭建一次,设置环境变量等操作。好不容易安装好,一会提示pip不是内部或外部命令,一会又提示pip:commandno

    2022年7月31日
    10
  • 开放6379端口

    开放6379端口开放6379端口/sbin/iptables-IINPUT-ptcp–dport6379-jACCEPT保存配置/etc/rc.d/init.d/iptablessave转载于:https://www.cnblogs.com/itniwota/p/9138347.html

    2022年6月2日
    44
  • MySQL按字符串hash分区_mysql分区理论「建议收藏」

    MySQL按字符串hash分区_mysql分区理论「建议收藏」查看mysql安装的引擎mysql>showengines;查看mysql安装的插件(这里用于查看当前mysql是否支持partition)mysql>showplugins;不同分区对比分区类型优点缺点共性Range适合与日期类型,支持复合分区有限的分区一般只针对某一列List适合与有固定取值的列,支持复合分区有限的分区,插入记录在这…

    2022年5月4日
    274
  • auto是什么_auto C++

    auto是什么_auto C++autoauto让编译器通过初始值来推算变量的类型——–因此,auto定义的变量必须有初始值.1.让引用对象作为初始值————————————–使用引用其实是使用引用的对象                                 inti=0,&c=i;                  a

    2025年10月9日
    7

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号