LMLPHP后院

使用array_map取代PHP函数array_column

PHP 函数 array_column 是 PHP5.5 之后才支持的,在国内各大平台运行环境比较混乱的情况下,绝大多数的主机服务器还都在使用 PHP5.3 左右的版本。为了程序的健壮性,慎用此函数,最好使用 array_map 来取代它,不过 array_map 的取代也只能向下兼容到 5.3 的版本,因为需要使用 lambda 函数表达式。如下示例:array_column($array, $co...

C语言和PHP语法相异点

PHP 的语法规则和 C 语言语法规则非常的相似,PHP 中很多内部函数调用的就是原生的 C 语言函数。由于两种语言的运行方式不同,导致在某些情况下语法也有一些差异,下面列举几个。 获取全局变量方式不同 在作用域中获取全局变量的值,PHP 必须借助 global 关键字获取或者使用超全局变量 $GLOBAL 去访问外部变量值。C语言相对简单点,在局部作用域中若没有相同的变量名称则访问的就是外部声明的...

2016上海PHPCON技术峰会(二)

用除法,最终编译器会优化这个问题。说到这里,鸟哥更是提起曾经 09 年在百度邮件组工作的一些事情。见下文分解:鸟哥曾经在百度邮件组,有次他们组收到一封邮件,邮件内容是关于性能的一个测试,说是 PHP 函数名字太长影响性能,短的函数名速度更快,建议大家都使用短函数名,越短越好。为了证明这个结论,邮件中还使用两个函数名分别调用了 10 万次?,两个函数都是空函数,没有任何实现。鸟哥当时也是惊呆了,觉得他们...

使用PHP字符串处理mb系列函数注意事项

PHP 的 mbstring 系列函数在使用的时候需要设置内部编码,如果没有设置,则默认跟随系统编码。关于 mbstring 系列函数出现乱码问题,网上的很多被转载的文章大都说是没有安装 mbstring 扩展导致。如果没有安装 mbstring 扩展,报错的就是 Undefined function,而不是乱码的问题。很多程序在开发的时候,由于程序员的经验不够丰富,开始运行的时候没有任何问题,一旦迁...

PHP解压函数gzdecode和gzinflate使用方法

PHP 5.4 之后新增的 gzip 解压函数 gzdecode 使用方法,gzdecode — Decodes a gzip compressed string,解压一个使用 gzip 压缩的字符串,这是官网手册上面写到的。 目前很多的空间服务商的 PHP 版本都没有达到 5.4 ,这也导致使用此函数之后发生函数未定义错误,该如何解决这个问题呢?PHP 官方网站用户提交的日志中有人给出了很好的解决...

使用php函数simplexml_load_string解析xml注意事项

Expat Parser 等。一般情况下,解析一段格式比较规则的 xml,程序员对字符的处理能力比较强的话,自己写一个解析器也未尝不可。大多数情况下,使用面向对象的库来解析 xml 是不太方便的,不如函数来的爽快。 使用函数 simplexml_load_string 的坑 文本讲述 PHP 函数 simplexml_load_string 解析 xml 的注意事项。对于提交比较小的 xml,使用此函...

解决 The mysql extension is deprecated and will be removed in the future

ved in the future: use mysqli or PDO instead in ... 。 PHP 核心开发组经过了很长时间的讨论,决定在 PHP5.5 版本后将 mysql_ 系列的函数标记为 deprecated,下面将给出如何解决这个问题的方法。 Why was mysql deprecated in PHP 5.5? Johannes Schlüter, one of the ...

PHP filesize 获取文件大小注意事项

使用 filesize 获取文件大小需要注意,此函数返回的内容是被缓存的,一般情况下不会出现问题,如果文件内容被频繁更改,那就获取到错误的大小了。看官方的注释:返回文件大小的字节数,如果出错返回 FALSE 并生成一条 E_WARNING 级的错误。 Note: 因为 PHP 的整数类型是有符号整型而且很多平台使用 32 位整型,对 2GB 以上的文件,一些文件系统函数可能返回无法预期的结果 。Not...

时间戳和日期之间转换在不同时区的差异

在 PHP 程序中,使用 time() 函数不论时区是否设置,是不会报错的,在 PHP7 以下版本中,使用 date 函数在 time zone 没有指定的情况下会报 Notice 错误。容易造成一个误解,timestamp 和时区无关。其实 timestamp 和 date 都是与时区有关系的。在不同的时区同一时刻获取的 timestamp 是不一样的。使用 timestamp 存储有个好处,就是转...

Ajax跨域原理JQuery之Jsonp使用剖析

x技术了。 Jsonp虽然能够很方便的请求外部资源,实现跨域与服务端通信,但也有所限制的。这种限制要求服务端返回的内容必须是合法的 JavaScript 代码,一般都需要配合客户端的要求返回相应的回调函数。之前本人每次使用Jsonp实现跨域,都是动态的创建SCRIPT标签,然后发出请求,虽然知道JQuery也有提供这样的功能,之前感觉使用起来很是麻烦。最近使用JQuery的Ajax方法,才发现它封装的...
2024-04-27 07:34:43 1714174483 0.024471