本篇文章由PHP7教程栏目给大家介绍一下PHP7的一些特性用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
PHP7的一些特性用法
1.use的用法
<?php // PHP 7 之前版本用法 use somenamespaceClassA; use somenamespaceClassB; use somenamespaceClassC as C; use function somenamespacefn_a; use function somenamespacefn_b; use function somenamespacefn_c; use const somenamespaceConstA; use const somenamespaceConstB; use const somenamespaceConstC; // PHP 7+ 用法 use somenamespace{ClassA, ClassB, ClassC as C}; use function somenamespace{fn_a, fn_b, fn_c}; use const somenamespace{ConstA, ConstB, ConstC}; ?>
2.序列号函数unserialize的新增了过滤功能
// 转换对象为 __PHP_Incomplete_Class 对象 $data = unserialize($foo, ["allowed_classes" => false]); // 转换对象为 __PHP_Incomplete_Class 对象,除了 MyClass 和 MyClass2 $data = unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]); // 默认接受所有类 $data = unserialize($foo, ["allowed_classes" => true]);
3.通过define定义常量数组
<?php define('ANIMALS', [ 'dog', 'cat', 'bird' ]); echo ANIMALS[1]; // 输出 "cat" define("GREETING","Hello you! How are you today?",TRUE); echo constant("greeting"); //返回常量的值 ?>
4.三目运算符null合并
<?php // 如果 $_GET['user'] 不存在返回 'nobody',否则返回 $_GET['user'] 的值 $username = $_GET['user'] ?? 'nobody'; // 类似的三元运算符 $username = isset($_GET['user']) ? $_GET['user'] : 'nobody'; ?>