李涛自留地
回到顶部

PHP array_merge_recursive() 和 array_replace() 详解:数组合并与替换

前言 合并数组时 array_merge() 是首选,但遇到关联数组时会有覆盖行为,多维数组时又会有键名重复问题。array_merge_recursive() 和 array_replace() 提供了不同的合并策略。 array_merge_recursive() 递归合并 array_merg…

PHP array_key_first() 和 array_key_last():获取数组首尾键名

以前获取数组的第一个键名需要 current() 配合 key(),或者用 reset()。PHP 7.3 引入了 array_key_first() 和 array_key_last(),语义更清晰,使用更简洁。 ## 基本用法 array_key_first(array) - 获取数组的第一个键…

PHP array_reverse() 函数详解:数组反转的 N 种方式

前言 最近处理日志数据,发现数据是按时间正序存储的,但前端需要倒序展示。本来想写个循环倒排,后来发现 array_reverse() 一行搞定。 基本用法 array_reverse(array, preserve_keys) - 反转数组元素顺序。第二个参数默认 false(重置键名),设为 tr…

PHP array_slice() 和 array_splice() 详解:数组切片与截取

分页功能中需要从数组中截取一页的数据。array_slice()和 array_splice() 都能做到,但一个返回新数组,一个修改原数组。这篇文章把这两个函数的区别和使用场景理清楚。 array_slice()基本用法 array_slice(array, offset, length) - 从…

PHP array_combine() 函数详解:用两个数组构造键值对

昨天处理数据库查询结果时,需要从字段名和字段值两个数组构造关联数组。本来用 foreach 循环拼,后来发现 array_combine() 一行就能搞定,而且代码可读性更好。 基本用法 array_combine(array_keys, array_values) - 用一个数组的值作为键名,另一…

PHP in_array()、array_search()、array_key_exists() 查找函数对比

最近写权限检查函数时,需要频繁判断一个 ID 是否在允许列表中。用 in_array($id, $arr) 查了老半天,后来发现把数组反转后,array_key_exists() 的性能高出几个数量级。 这篇文章聊聊array_flip()和 array_key_exists() 的配合使用,以及常…

PHP类的自动加载函数如何使用?PHP类的自动加载使用实例

之前学习了很多有关PHP面向对象中的魔术方法,但是今天在学习__autoload()自动加载魔术方法的时候,在实例中使用__autoload()时,报错提示已经被PHP废弃,查看了一下PHP手册才明白7.2以上版本中已经将__autoload()废弃掉,而被新的函数spl_autoload_regi…

PHP魔术方法__call()如何使用?PHP魔术方法__call使用实例

前面先后学习和记载了PHP魔术方法中的构造方法和析构方法以及__set()、__get(),而__set()、__get()方法主要是针对类中的属性进行操作,那么有没有对类中方法进行操作的魔术方法呢?__call方法就是可以对类中的方法进行这样操作的方法。 __call方法的作用 在对象中调用一个不…

PHP魔术方法__get()和__set()如何使用 PHP魔术方法__get()和__set()使用实例

在之前学习了PHP的构造方法和析构方法,其实构造方法和析构方法都属于是PHP的魔术方法之一,那么在PHP中还有哪些魔术方法?接下来的几篇文章将记载一些PHP魔术方法的使用,今天主要记载的是PHP魔术方法__get()和__set()的使用方法。 PHP魔术方法的简单特征 在文章开头也提到了前面学习过…