php基础重温 php7新特性

// function myTest($x)
// {
// echo $x;
// }
// myTest(5);

 


// $txt1="Hello world!";
// $txt2="What a nice day!";
// echo $txt1 . $txt2;


// echo strpos("Hello world!","1");


// var_dump(intdiv(10, 3));


// $x=10;
// echo $x; // 输出10

// $y=20;
// $y += 100;
// echo $y; // 输出120

// $z=50;
// $z -= 25;
// echo $z; // 输出25

// $i=5;
// $i *= 6;
// echo $i; // 输出30

// $j=10;
// $j /= 5;
// echo $j; // 输出2

// $k=15;
// $k %= 4;
// echo $k; // 输出3


// $x=10;
// echo $x--; // 输出11
// $i=5;
// echo $i--; // 输出5
// var_dump($x);
// $s = $x - 1;
// var_dump($s);

 

// echo 12 <=> 9; // 0

 

// $a = 1;
// $b = 2;
// $c = 3;
// $d = $a + $b * $c;
// echo $d;
// echo "\n";
// $e = ($a + $b) * $c; // 使用括号
// echo $e;
// echo "\n";

 

// function writeName($fname)
// {
// echo $fname . " Refsnes.<br>";
// }

// echo "My name is ";
// writeName("Kai Jim");
// echo "My sister's name is ";
// writeName("Hege");
// echo "My brother's name is ";
// writeName("Stale");

// function add($x,$y)
// {
// $total=$x+$y;
// return $total;
// }

// echo "1 + 16 = " . add(1,16);


/*
php7新特性

太空舱符 更快的比较两个数组大小 返回 0 或 -1
---------------------------
强制模式 和 严格模式 强制格式是会强制参数类型 严格类型 会检验参数是否为设定类型不是则报错
---------------------------
新增返回函数void 一个新的返回值类型void被引入。 返回值声明为 void 类型的方法要么干脆省去 return 语句,
要么使用一个空的 return 语句。 对于 void 函数来说,NULL 不是一个合法的返回值。
返回的类型还有 void,定义返回类型为 void 的函数不能有返回值,即使返回 null 也不行。
void 函数可以省去 return 语句,或者使用一个空的 return 语句。
---------------------------
合并运算符
a = 10;
var_dump($a ?? "a"); // 相当于: isset($a) ? $a : 'a' => 输出 10
var_dump($a ?: "b"); // 相当于: $a ? $a : 'a' =>输出 10
---------------------------
常量数组define
define('数组名', 数组);
define('sites', [
'Google',
'Runoob',
'Taobao'
]);
---------------------------
PHP 匿名类
PHP 7 支持通过 new class 来实例化一个匿名类,这可以用来替代一些"用后即焚"的完整类定义。
---------------------------
PHP Closure::call()
PHP 7 的 Closure::call() 有着更好的性能,将一个闭包函数动态绑定到一个新的对象实例并调用执行该函数。
---------------------------
PHP 过滤 unserialize()
PHP 7 增加了可以为 unserialize() 提供过滤的特性,可以防止非法数据进行代码注入,提供了更安全的反序列化数据。
---------------------------
PHP IntlChar()
PHP 7 通过 intl 扩展来支持国际化 (i18n) 和本地化 (l10n) 。此扩展仅仅是对 ICU 库的基础包装,
并提供了和 ICU 库类似的方法和特性。
PHP 7 通过新的 IntlChar 类暴露出 ICU 中的 Unicode 字符特性。这个类自身定义了许多静态方法用于操作多字符集的 unicode 字符。
---------------------------
CSPRNG(Cryptographically Secure Pseudo-Random Number Generator,伪随机数产生器)。
PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。
random_bytes() - 加密生存被保护的伪随机字符串。
random_int() - 加密生存被保护的伪随机整数。
---------------------------
PHP 7 可以使用一个 use 从同一个 namespace 中导入类、函数和常量:
---------------------------
PHP intdiv() 函数
PHP 7 新增加了 intdiv() 函数,接收两个参数,返回值为第一个参数除于第二个参数的值并取整。
---------------------------
php7 以前,我们使用 session 前都是要先代用 session_strat() 函数来初始化的,
但这个函数是没有参数可以传的,session 的配置都在 php.ini 文件中。
在 php7 后 session_start() 可以接受一个 array 作为参数, 用来覆盖 php.ini 文件中设置的会话配置选项。
session_start([
'cache_limiter' => 'private', //在读取完毕会话数据之后马上关闭会话存储文件
'cookie_lifetime'=>3600, //SessionID在客户端Cookie储存的时间,默认是0,代表浏览器一关闭SessionID就作废
'read_and_close'=>true //在读取完会话数据之后, 立即关闭会话存储文件,不做任何修改
]);
$_SESSION['name']='quan';
echo $_SESSION['name'];
---------------------------
PHP 7 废弃特性
PHP4 风格的构造函数
在 PHP4 中类中的函数可以与类名同名,这一特性在 PHP7 中被废弃,同时会发出一个 E_DEPRECATED 错误。
当方法名与类名相同,且类不在命名空间中,同时PHP5的构造函数(__construct)不存在时,会产生一个 E_DEPRECATED 错误。
---------------------------
PHP 7+ 版本移除了以下扩展:
ereg
mssql
mysql
sybase_ct
---------------------------

 

 


*/

posted @ 2021-07-09 20:11  晓帅啦  阅读(48)  评论(0编辑  收藏  举报