다음은 PHP 7.0 및 7.1 버전의 몇 가지 새로운 기능입니다.
$foo = null; $bar = $foo ?? 123; // 相当于 $bar = isset($bar) ? $bar : 123
// 在严格模式下,传参类型不匹配会抛出错误 declare(strict_types=1); function fn(int $a) : int { echo $a; } fn(1.2);
는 같으면 0을 반환합니다.
전자는 후자보다 크면 1을 반환합니다.
후자는 같으면 -1을 반환합니다.
var_dump($a <=> $b);
$a = 0; $b = "abc"; var_dump($a <=> $b); // 注意,字符串在与数字比较时会被当作 0;
반환 값 없이
$generator->getReturn()
를 사용하면null
이 반환됩니다. 또한 생성기가 완전히 출력되지 않는 경우$generator->getReturn()
을 사용하면 오류가 보고됩니다.
function generator() { yield 1; yield 2; return "a"; } $generator = generator(); foreach ($generator as $val) { var_dump($val); } var_dump($generator->getReturn());
function generator() { yield 1; yield 2; return "a"; } $generator = generator(); var_dump($generator->current()); var_dump($generator->next()); var_dump($generator->getReturn()); // 报错 var_dump($generator->current()); var_dump($generator->next());
define('COLORS', ['red', 'blue', 'black']); echo COLORS[1]; // red
use some\namespace\{ClassA, ClassB, ClassC as C}; use function some\namespace\{fn_a, fn_b, fn_c}; use const some\namespace\{ConstA, ConstB, ConstC};
JIT, 런타임 중에 일부 명령어를 기계어 코드로 변환합니다. 컴퓨팅 집약적인 애플리케이션의 성능이 크게 향상되었습니다.
list($a, $b) = ["a", "b"];
기본 매개변수 값과의 차이점에 유의하세요:
function(?string $name) { var_dump($name); } // 传参类型为 string 或 null
function(string $name = "default-name") { var_dump($name); }
콜러블 유형을 사용하여 매개변수 유형이 호출 가능한 유형임을 나타냅니다(Function, 호출을 구현하는 클래스 인스턴스).
iterable을 사용하세요. type 반복 가능한 유형(배열, Iterator 또는 Traversable 인터페이스 을 구현하는 클래스 인스턴스)에 전달되는 매개변수 유형을 제한합니다.
[$a, $b] = ["a", "b"];
위 내용은 PHP7.0 및 7.1의 일부 새로운 기능에 대한 메모 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!