1. オブジェクト属性で型宣言がサポートされるようになりました
<?php class User { public int $id; public string $name; } ?>
上記の例では、$id は整数型 $name# に強制的に変換されます。 ## は String 型です
<?php $factor = 10; $nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]); // $nums = array(10, 20, 30, 40); ?>3、制限された戻り値の型の共分散とパラメータの型の共分散 (Google 翻訳)次のコードは、 run
<?php class A {} class B extends A {} class Producer { public function method(): A {} } class ChildProducer extends Producer { public function method(): B {} } ?>完全な diff サポートは、自動ロードを使用する場合にのみ提供されます。単一ファイル内では、非循環型参照のみを使用できます。これは、参照される前にすべてのクラスが使用可能である必要があるためです。4、Null マージ代入演算子
<?php $array['key'] ??= computeDefault(); // is roughly equivalent to if (!isset($array['key'])) { $array['key'] = computeDefault(); } ?>5、配列内のアンパック (Google The翻訳は配列内で解凍することです。これが間違っているかどうかを確認してください。最初に英語を使用してください)
<?php $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; ?>6. 数値文字区切り文字数値文字では、数値の間にアンダースコアを含めることができます。
<?php 6.674_083e-11; // float 299_792_458; // decimal 0xCAFE_F00D; // hexadecimal 0b0101_1111; // binary ?>7. 弱い参照 弱い参照を使用すると、プログラマは破棄を防ぐことができないオブジェクトへの参照を保持できますが、オブジェクトの破棄は妨げられません。) 8. 例外を許可する
__toString()
__toString() 例外を介してスローできるようになりました。以前のバージョンでは致命的なエラーが発生しました。致命的なエラーを引き起こす可能性のある文字列変換は、例外をスローするように変換されました。
以上がphp7.3からphp7.4への新機能の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。