PHP 有很多非常好用的数组处理函数,PHP 数组函数官方文档都有 80 多个,但是在使用过程,有一些数组的操作使用比较多,我就把这些函数整理成工具函数,然后整合到 WPJAM Basic 中,方便自己的二次开放的方便使用。
wpjam_array_push
关联数组插入元素是无法指定位置的,只能插在最前或者最后面,所以第一个函数就是可以向关联数组指定的 Key 之前插入元素:
function wpjam_array_push($array, $data=null, $key=false){
$data = (array)$data;
$offset = ($key===false)?false:array_search($key, array_keys($array));
$offset = ($offset)?$offset:false;
if($offset){
return array_merge(
array_slice($array, 0, $offset),
$data,
array_slice($array, $offset)
);
}else{ // 没指定 $key 或者找不到,就直接加到末尾
return array_merge($array, $data);
}
}
比如下面在 $columns
的 'author'
之前插入 ['page_title'=>'页面标题']
:
wpjam_array_push($columns, ['page_title'=>'页面标题'], 'author');
wpjam_array_first
PHP 的 array_filter()
函数可以通过回调函数过滤数组的元素,但是返回的是过滤后的数组,不过很多时候,我们只是简单的要求返回第一个通过测试的元素:
function wpjam_array_first($array, $callback=null){
if($callback && is_callable($callback)){
foreach($array as $key => $value){
if(call_user_func($callback, $value, $key)){
return $value;
}
}
}else{
return current($array);
}
}
使用非常简单的:
$array = [100, 200, 300];
$value = wpjam_array_first($array, function($value) {
return $value >= 150;
});
// 200
wpjam_array_pull
要从关联数组中移除并返回指定的键值,一般需要两步操作,先取出,然后 unset 数组中的键值对,把这两个步骤合成一个函数:
function wpjam_array_pull(&$array, $key){
if(isset($array[$key])){
$value = $array[$key];
unset($array[$key]);
return $value;
}else{
return null;
}
}
然后直接调用即可:
$name = wpjam_array_pull($array, 'name');
wpjam_array_excerpt
PHP 从关联数组中移除指定的键值对,一般使用 unset 函数,如果要移除多个键值对,就要调用多次的 unset 函数,所以就合并成一个函数 :
function wpjam_array_except($array, $keys){
if(is_string($keys)){
$keys = [$keys];
}
foreach($keys as $key){
unset($array[$key]);
}
return $array;
}
这样就可以通过下面方式移除键值对了:
$array
=wpjam_array_except($array, ['price','description']);
如果仅仅移除一个键值对,还可以直接传递字符串:
$array
=wpjam_array_except($array, 'price');
专题:WPJAM Basic 详细介绍:
- 01. WordPress 一键式全站优化插件:WPJAM-Basic
- 02. WPJAM Basic 详细介绍:一键搞定 WordPress 功能屏蔽和增强优化
- 03. WPJAM Basic 详细介绍:一键搞定 WordPress 前后台和登录界面样式定制
- 04. WPJAM Basic 详细介绍:一键实现 WordPress 静态资源 CDN 加速
- 05. WPJAM Basic 详细介绍:一键设置和应用 WordPress 缩略图
- 06. WPJAM Basic 详细介绍:一键优化 WordPress 文章设置和操作
- 07. WPJAM Basic 详细介绍:可视化管理 WordPress 定时作业
- 08. WPJAM Basic 详细介绍:一页概览 WordPress 服务器系统信息
- 09. WPJAM Basic 详细介绍:一页展示 WordPress 所有 Dashicons 图标
- 10. WPJAM Basic 详细介绍:一键开启17个 WordPress 功能扩展
- 11. WPJAM Basic 功能详细介绍:CDN 和缩略图开发接口
- 12. WPJAM Basic 扩展 - 文章目录:根据内容中子标题自动提取出文章目录
- 13. WPJAM Basic 扩展 - 简单 SEO:简单快捷地设置 WordPress 站点的 SEO
- 14. WPJAM Basic 扩展 - SMTP 发信:使用第三方邮箱的 SMTP 服务来发送邮件
- 15. WPJAM Basic 扩展 - Rewrite 优化:一键优化 WordPress 页面重写规则
- 16. WPJAM Basic 扩展 - 文章类型转换器:一键快速转换文章的类型
- 17. WPJAM Basic 扩展:文章浏览统计
- 18. WPJAM Basic 扩展:统计代码
- 19. WPJAM Basic 扩展:用户角色
- 20. WPJAM Basic 扩展:相关文章
- 21. WPJAM Basic 扩展:百度站长
- 22. WPJAM Basic 扩展:301跳转
- 23. WPJAM Basic 扩展:移动主题
- 24. WPJAM Basic 扩展:常用短代码
- 25. WPJAM Basic 扩展:文章数量
- 26. WPJAM Basic 扩展:摘要快速编辑
- 27. WPJAM Basic 扩展:文章快速复制
- 28. WPJAM Basic 扩展:文章页代码
- 29. WPJAM Basic 内置的字符串处理函数
- 30. WPJAM Basic 内置的数组处理函数
- 31. WPJAM Basic 内置的缩略图函数
- 32. WPJAM Basic 内置的文章列表函数
- 33. WPJAM Basic 内置的系统和设备判断函数
- 34. WPJAM Basic 内置的图片处理函数