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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 微信小程序跳转传值(微信怎样打开小程序)

    前情:首先我们有这么一种需求,就是我在一个列表中点击了某个item,跳转到详情界面,那么我就需要把item的实体数据从列表页面传递到详情页面,那么我们来看看微信小程序给我们提供的API:先看api:这里大家可以清楚看到api中说到的如何传递参数,其实它这里指的参数仅仅是一些普通的数据类型具体分析:这里我们要传递的实体是object类型,那么我们需要先把实体转…

    2022年4月12日
    49
  • android之存储篇_ContentProvider存储

    ContentProvider是安卓平台中,在不同应用程序之间实现数据共享的一种机制。一个应用程序如果需要让别的程序可以操作自己的数据,即可采用这种机制。并且此种方式忽略了底层的数据存储实现,ContentProvider提供了一种统一的通过Uri实现数据操作的方式。其步骤为:  1. 在当前应用程序中定义一个ContentProvider。  2. 在当前应用程序的AndroidMani

    2022年3月10日
    49
  • SQL注入报错注入函数[通俗易懂]

    SQL注入报错注入函数[通俗易懂]前言报错注入的前提是当语句发生错误时,错误信息被输出到前端。其漏洞原因是由于开发人员在开发程序时使用了print_r(),mysql_error(),mysqli_connect_error()函数将mysql错误信息输出到前端,因此可以通过闭合原先的语句,去执行后面的语句。常用报错函数updatexml()是mysql对xml文档数据进行查询和修改的xpath函数extractvalue()是mysql对xml文档数据进行查询的xpa…

    2022年9月30日
    0
  • 归并排序算法详细图解_归并排序算法描述

    归并排序算法详细图解_归并排序算法描述一、什么是归并排序1.概念归并排序(Mergesort)是建立在归并操作上的一种有效的排序算法,归并排序对序列的元素进行逐层折半分组,然后从最小分组开始比较排序,合并成一个大的分组,逐层进行,最终所有的元素都是有序的2.算法原理这是一个无序数列:4、5、8、1、7、2、6、3,我们要将它按从小到大排序。按照归并排序的思想,我们要把序列逐层进行拆分序列逐层拆分如下然后从下往上逐层合并,首先对第一层序列1(只包含元素4)和序列2(只包含元素5)进行合并创建一个大序列,序列长度为两个小序列长度

    2022年8月12日
    2
  • svn中文语言包安装无反应_英文版win7安装语言包

    svn中文语言包安装无反应_英文版win7安装语言包1.中文语言包下载地址,两种下载方式:下载(1.9.4版本):https://sourceforge.net/projects/tortoisesvn/files/1.9.4/Language%20Packs/官网下载:https://tortoisesvn.net/downlo…

    2022年10月28日
    0
  • 77. Combinations「建议收藏」

    77. Combinations「建议收藏」Giventwointegers n and k,returnallpossiblecombinationsof k numbersoutof1… n.Forexample,If n =4and k =2,asolutionis:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]

    2022年10月6日
    0

发表回复

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

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