>백엔드 개발 >PHP 튜토리얼 >PHP7.4의 새로운 기능 요약

PHP7.4의 새로운 기능 요약

silencement
silencement앞으로
2020-01-26 22:25:084124검색

PHP7.4의 새로운 기능 요약

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 = [&#39;apple&#39;, &#39;pear&#39;];
$fruits = [&#39;banana&#39;, &#39;orange&#39;, ...$parts, &#39;watermelon&#39;];//[&#39;banana&#39;, &#39;orange&#39;, &#39;apple&#39;, &#39;pear&#39;, &#39;watermelon&#39;];
//老的写法
$fruits = array_merge([&#39;banana&#39;, &#39;orange&#39;],$parts,[&#39;watermelon&#39;]);

5 Null 병합 연산자 할당

<?php
$array[&#39;key&#39;] ??= computeDefault();
// 老的写法
if (!isset($array[&#39;key&#39;])) {
    $array[&#39;key&#39;] = computeDefault();
}
?>
#🎜🎜 # 6. 숫자 리터럴 구분 기호

숫자 리터럴은 숫자 사이에 밑줄을 포함할 수 있습니다.

<?php
6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
?>

7. __toString()에서 예외 발생 허용

이제 __toString()에서 예외 발생이 허용되었습니다. , 문자열 변환 중에 발생한 일부 복구 가능한 치명적인 오류가 오류 예외로 변환되었습니다. #🎜🎜 ## 8#8.Filter#🎜🎜 ## 🎜🎜#_Validate_float

🎜🎜

9 🎜🎜#

드디어 걱정이 없군요. 결과가 어떠냐고 묻는 것입니다. 사실 프로덕션에서는 다들 이렇게 쓰지는 않거든요.

2. 중괄호 액세스 배열 인덱스

<?php
  filter_var(1.00,FILTER_VALIDATE_FLOAT);
filter.filters.validate

To be 솔직히, 제가 본 것은 이번이 처음입니다. 버려졌으니 아무도 이런 식으로 사용하지 않을 것입니다. 3. 실수 및 is_real 실수

<?php
  strip_tags($str,[&#39;p&#39;,&#39;a&#39;,&#39;div&#39;]);
//老的写法
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
?>
4 parent 키워드는 상위 클래스가 없는 클래스에서 사용됩니다

부모가 없는 클래스에서 class parent를 사용하면 컴파일 오류가 발생합니다.

<?php
$arr = ["a"=>"111"];
$index = "a";
$arr{$index}//废弃
$arr[$index];
5. Money_format 함수

money_format은 더 이상 사용되지 않습니다.

6을 대체하려면 numberFormater를 사용하세요.

<?php
  $num = "";
  $a = (real) $num;//废弃
  $a = (float) $num;
#🎜🎜 #

위 내용은 PHP7.4의 새로운 기능 요약의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 www.liqingbo.cn에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제