自定义了几个 WordPress 中用于数据判断的回调函数

2023-04-13 11:10:51 浏览数 (1)

我们在进行 WordPress 开发的时候,在获取数据的时候,需要对数据清理,这时候可能需要数组去掉 null 的值,空值等,保留下非 null 值和非空的值等操作,为了方便这些操作,我定了几个用于数据判断的回调函数。

判断数据非 null

判断数据非空,我们可以直接使用 isset 来判断,所以很多人和我一样,想着过滤掉数组中非空的字符也直接使用 isset 作为回调函数:

代码语言:javascript复制
$data	= array_filter($data, 'isset');

但是上面的函数直接会报:

代码语言:javascript复制
array_filter() expects parameter 2 to be a valid callback, function 'isset' not found or invalid function name

这是因为 isset 是一个语言构造器而不是一个函数,所以只能使用 !is_null 来判断非 null 值,然后使用闭包的方式:

代码语言:javascript复制
$data	= array_filter($data, function($item){
	return !is_null($item);
});

程序中有非常多的这样的数组中需要过滤掉 null 值的处理,每次都适用闭包函数的方式感觉有点不优雅,所以我定义了一个函数 is_exists

随便说一下这个函数名我想了很久,很早之前就想写这个函数作为回调函数使用了,但是一直没有好名字,然后看到 file_existsfunction_existsmethod_exists,突然来了灵感,于是兴奋的写了这个 is_exists 这个函数:

代码语言:javascript复制
if(!function_exists('is_exists')){
	function is_exists($var){
		return isset($var);
	}
}

然后就可以直接用于回调函数了:

代码语言:javascript复制
$data	= array_filter($data, 'is_exists');

判断字符串是否为空

在 PHP 里面空值是可以使用 empty 来判断的,但是有一点特别注意一下,这个函数会把字符串 '0' 也认为是空的,而很多时候我们并不希望,比如表单输入的时候,用户输入 0 了,其实已经输入了,并不是空,所以我同样也创建了一个函数 is_blank

哈哈,是不是这个名字也很好?blank 空白的意思,有0那就不是空白咯。

0 人点赞