PHP7.4 새로운 기능
PHP7.4이 출시되었습니다. 몇 가지 새로운 기능을 가져왔습니다. 이를 통해 우리는 더 적은 양의 코드를 작성할 수 있습니다.
1. 속성 추가 제한 유형
<?php class User { public int $age; public string $name } $user = new User(); $user->age = 10; $user->name = "张三"; //error $user->age = "zhang";//需要传递int
2. 이 기능은 basic 위 Js의 ES6 구문을 참조하세요. 이를 통해 우리는 더 적은 양의 코드를 작성할 수 있습니다. 코드에 fn 함수가 있는 경우. 충돌할 수 있음
<?php $factor = 10; $nums = array_map(fn($n)=>$n * $factor,[1,2,3]);//[10,20,30] //之前的写法 $nums = array_map(function($num)use($factor){ return $num * $factor; },[1,2,3])
3. 제한된 반환 유형 공분산 및 매개변수 유형 반공분산
전체 공분산/반공분산 지원은 자동 로딩을 사용할 때만 제공됩니다. 단일 파일 내에서는 모든 클래스를 참조하기 전에 사용할 수 있어야 하므로 비순환 유형 참조만 사용할 수 있습니다.
<?php class A {} class B extends A {} class Producer { public function method(): A {} } class ChildProducer extends Producer { public function method(): B {} } ?>
4. 배열 압축 풀기
배열 압축을 풀려면... 스프레드 연산자를 사용하세요. 이 기능은 js에서 흡수되어야 합니다. 예 보기
<?php $parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon'];//['banana', 'orange', 'apple', 'pear', 'watermelon']; //老的写法 $fruits = array_merge(['banana', 'orange'],$parts,['watermelon']);
5 Null 병합 연산자 할당
<?php
$array['key'] ??= computeDefault();
// 老的写法
if (!isset($array['key'])) {
$array['key'] = computeDefault();
}
?>
<?php 6.674_083e-11; // float 299_792_458; // decimal 0xCAFE_F00D; // hexadecimal 0b0101_1111; // binary ?>
🎜🎜
9 🎜🎜#드디어 걱정이 없군요. 결과가 어떠냐고 묻는 것입니다. 사실 프로덕션에서는 다들 이렇게 쓰지는 않거든요.
2. 중괄호 액세스 배열 인덱스
<?php filter_var(1.00,FILTER_VALIDATE_FLOAT); filter.filters.validate
To be 솔직히, 제가 본 것은 이번이 처음입니다. 버려졌으니 아무도 이런 식으로 사용하지 않을 것입니다. 3. 실수 및 is_real 실수
<?php strip_tags($str,['p','a','div']); //老的写法 strip_tags($str,"<p><a><div>"); 废弃的特性 1. 没有显式括号的嵌套三元运算符 <?php 1 ? 2 : 3 ? 4 : 5; // deprecated (1 ? 2 : 3) ? 4 : 5; // ok 1 ? 2 : (3 ? 4 : 5); // ok ?>
<?php $arr = ["a"=>"111"]; $index = "a"; $arr{$index}//废弃 $arr[$index];
<?php $num = ""; $a = (real) $num;//废弃 $a = (float) $num;
위 내용은 PHP7.4의 새로운 기능 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!