PHP 7.3.x#
说明
本文部分内容根据官网进行删减,仅整理常用特性。
1. 新特性#
1.1. 数据解析支持引用#
[&$a, [$b, &$c]] = $d
;对应的 list() 也一样支持。
2. 新函数#
2.1. array_key_first()
#
获取数组的第一个键
$array = ['a' => 1, 'b' => 2, 'c' => 3];
$firstKey = array_key_first($array);
print_r($firstKey); // a
警告
有几种方法可以为 PHP 7.3.0 之前的版本提供此功能。可以使用 array_keys()
,但是效率可能很低。也可以使用 reset()
和 key()
,但这可能会更改内部数组指针。一个有效的解决方案,它不更改内部数组指针,写为
<?php
if (! function_exists('array_key_first')) {
function array_key_first(array $arr)
{
foreach($arr as $key => $unused) {
return $key;
}
return null;
}
}
2.2. array_key_last()
#
获取数组的最后一个键
2.3 is_countable()
#
验证变量的内容是否为可计数的值
<?php
var_dump(is_countable([1, 2, 3])); // bool(true)
var_dump(is_countable(new ArrayIterator(['foo', 'bar', 'baz']))); // bool(true)
var_dump(is_countable(new ArrayIterator())); // bool(true)
var_dump(is_countable(new stdClass())); // bool(false)
3. 废弃的功能#
3.1 大小写不敏感的常量#
大小写不敏感的常量声明现已被废弃。将 TRUE
作为第三个参数传递给 define()
将会导致一个废弃警告。大小写不敏感的使用(在读取时使用一个与声明时不同的大小写方式)也已被废弃。
3.2 在字符串中搜索非字符串内容#
废弃:将一个非字符串内容传递给字符串搜索函数。 在将来所有待搜索的内容都将被视为字符串,而不是 ASCII 编码值。如果需要依赖这个特性,你应该 要么显示地进行类型转换(转为字符串),或者显示地调用 chr()
。 以下是受到影响的方法:
原文
- 新特性:https://www.php.net/manual/zh/migration73.new-features.php
- 新函数:https://www.php.net/manual/zh/migration73.new-functions.php
- 废弃的功能:https://www.php.net/manual/zh/migration73.deprecated.php
最后更新: 2020年5月31日 23:18:16