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); ?>
<?php class A {} class B extends A {} class Producer { public function method(): A {} } class ChildProducer extends Producer { public function method(): B {} } ?>
<?php $array['key'] ??= computeDefault(); // is roughly equivalent to if (!isset($array['key'])) { $array['key'] = computeDefault(); } ?>
<?php $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon']; ?>
<?php 6.674_083e-11; // float 299_792_458; // decimal 0xCAFE_F00D; // hexadecimal 0b0101_1111; // binary ?>
__toString()
__toString() 例外を介してスローできるようになりました。以前のバージョンでは致命的なエラーが発生しました。致命的なエラーを引き起こす可能性のある文字列変換は、例外をスローするように変換されました。
以上がphp7.3からphp7.4への新機能の紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。