搜尋
首頁後端開發PHP7php7和php5有哪些差別

這篇文章要跟大家介紹一下php7和php5的差別。有一定的參考價值,有需要的朋友可以參考一下,希望對大家有幫助。

php7和php5有哪些差別

1、php標量類型與傳回型別宣告

#主要分为两种模式,强制性模式和严格模式
declare(strict_types=1)
#1表示严格类型校验模式,作用于函数调用和返回语句;0表示弱类型校验模式。

2、NULL合併運算子

$site = isset($_GET['site']) ? $_GET['site'] : 'wo';
#简写成
$site = $_GET['site'] ??'wo';

3、組合預算符號

// 整型比较
print( 1 <=> 1);print(PHP_EOL);
print( 1 <=> 2);print(PHP_EOL);
print( 2 <=> 1);print(PHP_EOL);
print(PHP_EOL); // PHP_EOL 为换行符
//结果:
0
-1
1

4、常數數組

// 使用 define 函数来定义数组
define(&#39;sites&#39;, [
   &#39;Google&#39;,
   &#39;Jser&#39;,
   &#39;Taobao&#39;
]);

print(sites[1]);

5、匿名類別

interface Logger { 
   public function log(string $msg); 
} 

class Application { 
   private $logger; 

   public function getLogger(): Logger { 
      return $this->logger; 
   } 

   public function setLogger(Logger $logger) { 
      $this->logger = $logger; 
   }   
} 

$app = new Application; 
// 使用 new class 创建匿名类 
$app->setLogger(new class implements Logger { 
   public function log(string $msg) { 
      print($msg); 
   } 
}); 

$app->getLogger()->log("我的第一条日志");

6、Closure::call()方法增加,意思是向類別綁定個匿名函數

<?php 
class A { 
    private $x = 1; 
} 

// PHP 7 之前版本定义闭包函数代码 
$getXCB = function() { 
    return $this->x; 
}; 

// 闭包函数绑定到类 A 上 
$getX = $getXCB->bindTo(new A, &#39;A&#39;);  

echo $getX(); 
print(PHP_EOL); 

// PHP 7+ 代码 
$getX = function() { 
    return $this->x; 
}; 
echo $getX->call(new A); 
?>

7、CSPRNG(偽隨機數產生器)。

PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。

random_bytes() - 加密生存被保护的伪随机字符串。

random_int() - 加密生存被保护的伪随机整数。

8、異常

PHP 7 异常用于向下兼容及增强旧的assert()函数。

9、use 語句改變

#可以导入同一个namespace下的类简写
use some\namespace\{ClassA, ClassB, ClassC as C};

10、Session 選項

1.session_start()可以定义数组
<?php
session_start(&#91;
   &#39;cache_limiter&#39; => &#39;private&#39;,
   &#39;read_and_close&#39; => true,
]);
?>
2.引入了一个新的php.ini设置(session.lazy_write),默认情况下设置为 true,意味着session数据只在发生变化时才写入。

11、PHP 7 移除的擴充

ereg

mssql

mysql

sybase_ct

為什麼PHP7 比PHP5 效能提升了?

1、變數儲存位元組減少,減少記憶體佔用,提升變數操作速度

2、改善陣列結構,陣列元素和hash映射表被分配在同一塊記憶體裡,降低了記憶體佔用、提升了cpu 快取命中率

3、改進了函數的呼叫機制,透過優化參數傳遞的環節,減少了一些指令,提高執行效率

推薦學習:php影片教學

以上是php7和php5有哪些差別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文轉載於:CSDN。如有侵權,請聯絡admin@php.cn刪除

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 個月前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
1 個月前By尊渡假赌尊渡假赌尊渡假赌
威爾R.E.P.O.有交叉遊戲嗎?
1 個月前By尊渡假赌尊渡假赌尊渡假赌

熱工具

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)