Home >Backend Development >PHP Tutorial >Introduction to new expression constants and keywords in php7

Introduction to new expression constants and keywords in php7

伊谢尔伦
伊谢尔伦Original
2017-06-27 09:52:522010browse

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 &#39;Single digit odd numbers: &#39;;

/* 注意保存在内存中的数组绝不会被创建或返回 */
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)

##try-catch now supports finally

foreach now supports list() (PHP 5 >= 5.5.0, PHP 7)

The foreach control structure now supports separating nested arrays into separate ones via the list() construct Variables. For example:

<?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)

array_column — Returns a specified column in an array

Use ExpressionDefine constants (PHP 5 >= 5.6.0, PHP 7)

In previous PHP versions, static values ​​must be used to define constants. Declare properties and specify

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 = &#39;The value of THREE is &#39;.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


The value of THREE is 3


Now you can pass the const keyword to define a constant of type array.

<?php
const ARR = [&#39;a&#39;, &#39;b&#39;];

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn