Home > Article > Backend Development > Introduction to new expression constants and keywords in php7
The project I did recently used php7, but I feel that there are many new features that are not used. Just want to summarize some new features that may be used. The environment I used before was php5.4, and all the features of php5.5 and php5.6 will be summarized. Here I only list the features that I think may be used in the project. The main content comes from php manualAppendix.
Generators (PHP 5 >= 5.5.0, PHP 7)
Generators are supported by adding the yield keyword. Generators provide a simpler way to implement iterators without implementing the Iterator interface.
<?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 "; }
The above routine will output:
Single digit odd numbers: 1 3 5 7 9
Click for detailsGenerator
Added finally keyword (PHP 5 >= 5.5.0, PHP 7)
foreach now supports list() (PHP 5 >= 5.5.0, PHP 7)
<?php $array = [ [1, 2], [3, 4], ]; foreach ($array as list($a, $b)) { echo "A: $a; B: $b\n"; } ?>The above routine will output: A: 1; B: 2
A: 3; B: 4
array_column (PHP 5 >= 5.5.0, PHP 7)
Use ExpressionDefine constants (PHP 5 >= 5.6.0, PHP 7)
function parameters default values. You can now use numeric expressions including numbers, string literals, and other constants to define constants, declare properties, and set default values for function parameters.
<?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; ?>The above routine will output: 4
<?php const ARR = ['a', 'b']; echo ARR[0]; ?>The above routine will output: a
The above is the detailed content of Introduction to new expression constants and keywords in php7. For more information, please follow other related articles on the PHP Chinese website!