PHP7的一些特性用法

2021-10-04 22:57:40 字數 1526 閱讀 9158

1.use的用法

<?php

// php 7 之前版本用法

use some\namespace\classa;

use some\namespace\classb;

use some\namespace\classc as c;

use function some\namespace\fn_a;

use function some\namespace\fn_b;

use function some\namespace\fn_c;

use const some\namespace\consta;

use const some\namespace\constb;

use const some\namespace\constc;

// php 7+ 用法

use some\namespace\;

use function some\namespace\;

use const some\namespace\;

?>

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';

?>

php7做的一些改變

截止到目前為止,php官方已經發布了php7的rc7版本,距離發布第乙個正式版本不會很遠了!現在來說php7的重大特性肯定已經是定型了,不會再有什麼變動了。後續一些版本的迭代主要也就是修修bug,優化之類的。下面就來說話我們一直期待的php7會有那些主要的變化了。大小從24位元組減少到16位元組 h...

php7的新特性

截止到目前為止,php官方已經發布了php7的rc5版本,預計在11月份左右會發布第乙個正式版本!現在來說php7的重大特性肯定已經是定型了,不會再有什麼變動了。後續一些版本的迭代主要也就是修修bug,優化之類的。下面就來說話我們一直期待的php7.0新特徵吧。1.標量引數型別宣告 現在支援字串 s...

PHP7的新特性

php7 從發布到現在已經有快三年的時間了,現在已經發展到 php7.2.9 版本了。它的發布給 php 帶來了很大的效能提公升,這主要是得益於 php 對 zend 引擎的深度優化,同時還降低了 php 對系統的資源占用。主要的變化有以下幾點 在php之前的版本中,php 在語法解析階段直接生成了...