首页后端开发JAVAPHP 7.3 新增的三个常用函数,在 WordPress 中可以立即使用

PHP 7.3 新增的三个常用函数,在 WordPress 中可以立即使用

时间2023-04-21 22:30:01发布访客分类JAVA浏览908
导读:PHP 7.3 除了功能特性改进之后,还增加了三个常用的函数:is_countable, array_key_first 和 array_key_last,今天我们就讲一下这三个函数和在低版本 PHP 怎么使用这三个函数。is_counta...

PHP 7.3 除了功能特性改进之后,还增加了三个常用的函数:is_countable, array_key_firstarray_key_last,今天我们就讲一下这三个函数和在低版本 PHP 怎么使用这三个函数。

is_countable 函数

在 PHP 7.2 中,用 count() 获取对象和数组的数量。如果对象不可数,PHP 会抛出警告⚠️ ,所以需要检查对象或者数组是否可数:

if(is_array($array) || $array instanceof Countable){

   // $array 是可数的
}

PHP 7.3 提供新的函数 is_countable() 来解决这个问题,该函数对数组类型或者实现了 Countable 接口的实例的变量返回 true :

if(is_countable($array)){

   // $array 是可数的
}

WordPress 在 4.9.6 版本之后,就在低版本 PHP 环境中实现该函数:

if ( ! function_exists( 'is_countable' ) ) {

	function is_countable( $var ) {
    
		return ( is_array( $var )
			|| $var instanceof Countable
			|| $var instanceof SimpleXMLElement
			|| $var instanceof ResourceBundle
		);

	}

}

所以 4.9.6 之后版本的 WordPress 在任何版本的 PHP 都能使用该函数,不过还是建议使用 7.2 版本的 PHP,因为 WPJAM Basic 要求最低版本的 PHP 是 7.2。

随便说一下 WordPress 4.9.6 也实现了 PHP 7.1 引入的 is_iterable 函数:

if ( ! function_exists( 'is_iterable' ) ) {

	function is_iterable( $var ) {
    
		return ( is_array( $var ) || $var instanceof Traversable );

	}

}
    

array_key_first 和 array_key_last 函数

在 PHP 7.2 中,通过使用 reset()end()key() 等方法,通过改变数组的内部指针来获取数组首尾的键和值。现在,为了避免这种内部干扰,PHP 7.3 推出了新的函数来解决这个问题:

key = array_key_first(array); 获取数组第一个元素的键名key = array_key_last(array); 获取数组最后一个元素的键名

下面是一个具体的例子:

// 关联数组的用法
$array = ['a' =>
     1, 'b' =>
     2, 'c' =>
     3];
    

echo array_key_first($array);
    	// 输出 a
echo array_key_last($array);
    	// 输出 c

// 索引数组的用法
$array = [1 =>
     'a', 2 =>
     'b', 3 =>
     'c'];
    

echo array_key_first($array);
    	// 输出 1
echo array_key_last($array);
	// 输出 3

如果我们也想在低版本的 WordPress 中使用这三个函数,怎么处理呢?最新版的 WPJAM Basic 也做了兼容,在低版本 PHP 实现了这两个函数:

if(!function_exists('array_key_first')){

	function array_key_first($arr) {
    
		foreach($arr as $key =>
 $unused) {
    
			return $key;

		}
    

		return null;

	}

}


if(!function_exists('array_key_last')){

	function array_key_last($arr){

		if(!empty($arr)){
    
			return key(array_slice($arr, -1, 1, true));

		}
    

		return null;

	}

}
    

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

phpkey对象函数数组

若转载请注明出处: PHP 7.3 新增的三个常用函数,在 WordPress 中可以立即使用
本文地址: https://pptw.com/jishu/4766.html
PHP 深度合并多维数组 wpjam_array_merge CSS 如何设置背景透明,并使用 PHP 将十六进制的颜色值转换成 RGBA 格式

游客 回复需填写必要信息