最近やったプロジェクトはphp7を使用しましたが、使用されていない新機能がたくさんあると感じます。使用できる可能性のあるいくつかの新機能を要約したいと思います。以前使用していた環境は php5.4 でしたが、php5.5 と php5.6 のすべての機能もまとめます。主な内容は付録からのものです。 phpマニュアルの。
ジェネレーター (PHP 5 >= 5.5.0、PHP 7)
は、yield キーワードを追加することで、Iterator インターフェースを実装せずにイテレーターを実装する簡単な方法を提供します。
<?php function xrange($start, $limit, $step = 1) { for ($i = $start; $i <= $limit; $i += $step) { yield $i; } } echo 'Single digit odd numbers: '; /* 注意保存在内存中的数组绝不会被创建或返回 */ foreach (xrange(1, 9, 2) as $number) { echo "$number "; }
上記のルーチンは出力します:
一桁の奇数: 1 3 5 7 9
詳細についてはクリックしてくださいジェネレーター
finally キーワードを追加 (PHP 5 >= 5.5.0, PHP 7 )
try-catch は、finally をサポートするようになりました
foreach は、list() をサポートするようになりました (PHP 5 >= 5.5.0、PHP 7)
foreach 制御構造は、list() 構造によるネストをサポートするようになりました。個別の変数。例:
<?php $array = [ [1, 2], [3, 4], ]; foreach ($array as list($a, $b)) { echo "A: $a; B: $b\n"; } ?>
上記のルーチンは次のように出力します:
A: 1; B: 2
A: 3; B: 4
array_column (PHP 5 >= 5.5.0, PHP 7)
定数を定義するには expression を使用します (PHP 5 >= 5.6.0、PHP 7)
関数パラメータのデフォルト値を定義するために使用されます。 数値、文字列リテラル、その他の定数を含む数値式を使用して、定数を定義し、プロパティを宣言し、関数パラメーターのデフォルト値を設定できるようになりました。
<?php const ONE = 1; const TWO = ONE * 2; class C { const THREE = TWO + 1; const ONE_THIRD = ONE / self::THREE; const SENTENCE = 'The value of THREE is '.self::THREE; public function f($a = ONE + self::THREE) { return $a; } } echo (new C)->f()."\n"; echo C::SENTENCE; ?>上記のルーチンは出力します:4
THREEの値は3です
これで、constキーワードを通じて配列型の定数を定義できます。
<?php const ARR = ['a', 'b']; echo ARR[0]; ?>上記のルーチンは次のように出力します: a
以上がphp7 の新しい式定数とキーワードの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。