search
HomeBackend DevelopmentPHP7Look at the difference between php7 and php5

PHP7 column will show you the differences between php7 and php5

Look at the difference between php7 and php5

# #Recommended (free): PHP7

1, php scalar type and return type declaration

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

2, NULL coalescing operator

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

3. Combination budget symbol

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

4. Constant array

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

5. Anonymous class

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. The Closure::call() method is added, meaning it is bound to the class Define an anonymous function

<?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 (pseudo-random number generator).

PHP 7 通过引入几个 CSPRNG 函数提供一种简单的机制来生成密码学上强壮的随机数。random_bytes() - 加密生存被保护的伪随机字符串。random_int() - 加密生存被保护的伪随机整数。

8, Exception

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

9, Use statement change

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

10, Session option

1.session_start()可以定义数组<?phpsession_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 removed extension

ereg

mssql

mysql

sybase_ct

Why is the performance of PHP7 improved compared to PHP5?

1. Reduced variable storage bytes, reducing memory usage, and improving variable operation speed

2. Improved array structure, array elements and hash mapping table are allocated in the same memory Here, the memory usage is reduced and the CPU cache hit rate is improved

3. The function calling mechanism is improved. By optimizing the parameter transfer link, some instructions are reduced and the execution efficiency is improved

For more programming-related knowledge, please visit:

Programming Teaching! !

The above is the detailed content of Look at the difference between php7 and php5. For more information, please follow other related articles on the PHP Chinese website!

Statement
This article is reproduced at:CSDN. If there is any infringement, please contact admin@php.cn delete

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

mPDF

mPDF

mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

WebStorm Mac version

WebStorm Mac version

Useful JavaScript development tools

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver Mac version

Dreamweaver Mac version

Visual web development tools