WPJAM Basic 内置的数组处理函数

PHP 有很多非常好用的数组处理函数,PHP 数组函数官方文档都有 80 多个,但是在使用过程,有一些数组的操…

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'); 

  • WordPress果酱的知识星球
  • WPJAM Basic 插件项目页
  • 下载 WPJAM Basic
  • 有问题也可以在知乎@denishua

专题:WPJAM Basic 详细介绍

  • 01. WordPress 一键式全站优化插件:WPJAM-Basic
  • 02. WPJAM Basic 功能详细介绍:优化设置
  • 03. WPJAM Basic 功能详细介绍:样式定制
  • 04. WPJAM Basic 功能详细介绍:CDN 加速
  • 05. WPJAM Basic 功能详细介绍:缩略图设置
  • 06. WPJAM Basic 功能详细介绍:文章设置
  • 07. WPJAM Basic 功能详细介绍:定时作业
  • 08. WPJAM Basic 功能详细介绍:系统信息
  • 09. WPJAM Basic 功能详细介绍:Dashicons 图标
  • 10. WPJAM Basic 功能详细介绍:扩展管理
  • 11. WPJAM Basic 功能详细介绍:CDN 和缩略图开发接口
  • 12. WPJAM Basic 功能扩展:文章目录
  • 13. WPJAM Basic 扩展:简单 SEO
  • 14. WPJAM Basic 扩展:SMTP 邮件服务
  • 15. WPJAM Basic 扩展:Rewrite 优化
  • 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 内置的系统和设备判断函数

©我爱水煮鱼,本站推荐使用的主机:阿里云,国外主机建议使用BlueHost

本站长期承接 WordPress 优化和建站业务,请联系微信:「chenduopapa」。

类别:WordPress技巧

本文收集自互联网,转载请注明来源。
如有侵权,请联系 wper_net@163.com 删除。

评论 (0)COMMENT

登录 账号发表你的看法,还没有账号?立即免费 注册