この記事は、PHP7 で新たに追加された機能をまとめたもの (コード付き) です。一定の参考価値があります。必要な友人は参照してください。お役に立てれば幸いです。
1. スカラー型宣言
a) スカラー型宣言には、必須モード (デフォルト) と厳密モードの 2 つのモードがあります。 string、int、float、bool の型パラメータが (強制モードまたは厳密モードのいずれかで) 使用できるようになりました。これらは、PHP5 で導入された他の型 (クラス名、インターフェイス、配列、コールバック型) を拡張します。
<?php // Coercive mode function sumOfInts(int ...$ints) { return array_sum($ints); } var_dump(sumOfInts(2, '3', 4.1));
上記の結果が出力されます: int(9)
strict モードを使用するには、declare 宣言ディレクティブをファイルの先頭に配置する必要があります。これは、スカラーがファイル ベースで構成可能であると厳密に宣言されていることを意味します。このディレクティブは、パラメータの型宣言だけでなく、関数の戻り値宣言にも影響します (戻り値の型宣言、組み込み PHP 関数、および拡張機能にロードされた PHP 関数を参照)
#2. 戻り値の型宣言
a) PHP 7 では戻り値の型宣言のサポートが追加されました。パラメーターの型宣言と同様に、戻り値の型宣言では関数の戻り値の型を指定します。使用可能な型は、パラメータ宣言で使用できる型と同じです。<?php function arraysSum(array ...$arrays): array { return array_map(function(array $array): int { return array_sum($array); }, $arrays); } print_r(arraysSum([1,2,3], [4,5,6], [7,8,9]));
Array ( [0] => 6 [1] => 15 [2] => 24 )
3.null合体演算子
a) 数が多いため、三項式と isset() を同時に使用する場合は、null 合体演算子 (??) の構文糖を追加します。変数が存在し、NULL でない場合はそれ自体の値を返し、それ以外の場合は 2 番目のオペランドを返します。$username = $_GET['user_name']??'nobody';
4. Spaceship 演算子 (結合比較演算子)
a) spaceship 演算子は 2 つの式を比較するために使用されます。 $a が $b より小さい場合、等しい場合、または $b より大きい場合は、それぞれ -1、0、または 1 を返します。比較の原則は、PHP の通常の比較ルールに従います。<?php // 整数 echo 1 <=> 1; // 0 echo 1 <=> 2; // -1 echo 2 <=> 1; // 1 // 浮点数 echo 1.5 <=> 1.5; // 0 echo 1.5 <=> 2.5; // -1 echo 2.5 <=> 1.5; // 1 // 字符串 echo "a" <=> "a"; // 0 echo "a" <=> "b"; // -1 echo "b" <=> "a"; // 1 ?>
以上がPHP7で追加された新機能のまとめ(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。