php7とphp5の違いを1分で理解する

慕斯
リリース: 2023-02-18 06:36:01
転載
3069 人が閲覧しました

#この記事では、php7 と php5 の違いを 1 分で説明します。一定の参考値があるので、困っている友達が参考になれば幸いです。

php7とphp5の違いを1分で理解する

#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-11
ログイン後にコピー

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、ステートメントの変更を使用

#可以导入同一个namespace下的类简写use some\namespace\{ClassA, ClassB, ClassC as C};
ログイン後にコピー

10、セッションオプション

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
ログイン後にコピー

PHP5 と比較して PHP7 のパフォーマンスが向上しているのはなぜですか?

1. 変数の格納バイト数が削減され、メモリ使用量が削減され、変数の動作速度が向上します。

2. 配列構造が改善され、配列要素とハッシュマッピングテーブルを同一メモリ上に配置することでメモリ使用量を削減し、CPUキャッシュヒット率を向上

3 関数呼び出し機構を改善パラメータ転送リンクを最適化することで、一部の命令が削減され、実行効率が向上しました

推奨学習:
php ビデオ チュートリアル

以上がphp7とphp5の違いを1分で理解するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!