这篇文章给大家分享的是有关PHP7中的使用技巧的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
在 PHP 7 之前,开发者经常这么做:
use Universe\Saiyan; use Universe\SuperSaiyan;
从 PHP 7 开始:
use Universe\{Saiyan, SuperSaiyan};
函数和常量也是一样的。如果它们属于同一命名空间,则可以对它们进行分组。
define('NAMES', [ 'first' => 'John', 'middle' => 'Fitzgerald', 'last' => 'Kennedy' ]); echo NAMES['last']; //显示 "Kennedy"
它的写法是这样的<=>。它结合了比较。它表示 “小于,等于或大于”。当使用用户定义的比价函数对数组进行排序时,它非常有用,因为返回值是:
0 如果值相等
1 如果左边的值更大
-1 如果右边的值更大
那么,让我们对以下女演员进行排序:
$actressesWithAcademyAwards = [ [ 'name' => 'Katharine Hepburn', 'awards' => 4 ], [ 'name' => 'Jessica Lange', 'awards' => 2 ], [ 'name' => 'Meryl Streep', 'awards' => 3 ], [ 'name' => 'Cate Blanchett', 'awards' => 2 ], ];
你可以用一行来代替多行来进行比较:
usort($actressesWithAcademyAwards, function ($a, $b) { return $a['awards'] <=> $b['awards']; }); print_r($actressesWithAcademyAwards);
返回:
Array
(
[0] => Array
(
[name] => Jessica Lange
[awards] => 2
)
[1] => Array
(
[name] => Cate Blanchett
[awards] => 2
)
[2] => Array
(
[name] => Meryl Streep
[awards] => 3
)
[3] => Array
(
[name] => Katharine Hepburn
[awards] => 4
)
)
这是一个非常常见的 PHP 用例,因此太空船操作符可以节省时间。另外,它的可读性更强。
从 PHP 7.3 开始,你可以很容易地得到数组的第一个键和最后一个键:
$array = [ 'v' => 1, 'i' => 2, 'p' => 3 ]; $firstKey = array_key_first($array); $lastKey = array_key_last($array); print_r($firstKey); // v print_r($lastKey); // p
真的很简单,因为它不影响内部数组指针。
该特性可以实现以下功能:
$abc = range('a', 'c'); $def = range('d', 'f'); $ghi = range('g', 'i'); $all = [...$abc, ...$def, ...$ghi, 'j']; print_r($all);
得到:
Array
(
[0] => a
[1] => b
[2] => c
[3] => d
[4] => e
[5] => f
[6] => g
[7] => h
[8] => i
[9] => j
)
在大多数情况下,它基本取代了array_merge().
在大多数情况下,它基本取代了array_merge().
请注意,因为现在它指的是只有一个表达式的短闭包(因此有了 “短” 这个字):
$c = 3; $addC = fn($x) => $x + $c; echo $addC(70); // 73
不需要use关键字。
class Mother { private const ERROR_LEVEL_1 = 'achtung'; }
可见性有助于确保不应该被覆盖的内容不会被覆盖。在 PHP 7.1 之前,对于类常量(始终是公共的)来说是不可能的。
class Mother { private const ERROR_LEVEL_1 = 'achtung'; }
可见性有助于确保不应被覆盖的内容不被覆盖。在PHP 7.1之前,对于类常量(始终是公共的)这是不可能的。
感谢各位的阅读!关于“PHP7中的使用技巧”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。