Heim  >  Artikel  >  Backend-Entwicklung  >  Lassen Sie uns über einige neue grammatikalische Funktionen von PHP8 sprechen

Lassen Sie uns über einige neue grammatikalische Funktionen von PHP8 sprechen

藏色散人
藏色散人nach vorne
2021-05-21 10:40:163594Durchsuche

Dieser Artikel stellt Ihnen einige neue grammatikalische Funktionen von PHP8 vor. Er hat einen gewissen Referenzwert. Ich hoffe, dass er für alle hilfreich ist.

Einige neue Syntaxfunktionen von PHP8

Benannte Parameter

function test($name, $age='18', $sex='男') {
    echo $name . '-------' . $age . '--------'. $sex;
}
test('Landy', age: 20, sex: '女'); //Landy-------20--------女

Sie können auch Parameter überspringen跳过参数

test('Landy', sex: '女'); //Landy-------18--------女

参数的顺序可以不固定了

test(age: 30, sex: '女', name: 'tom'); //tom-------30--------女
<?php
class Person {
    public static function test($name, $age) {
        echo $name.&#39;|&#39;.$age;
    }
}
Person::test(age:100, name:&#39;Landy&#39;); //Landy|100

还可以这样

function test1($arg1,$arg2, ...$args) {
    print_r($args);
}
test1(1,2, name:&#39;Landy&#39;, age:11, sex:2);
Array
(
    [name] => Landy
    [age] => 11
    [sex] => 2
)

向下不兼容,PHP8.0 后的函数都可以使用命名参数

match 表达式

$a = 8.0;
echo match($a) {
    8.0 => &#39;匹配8.0&#39;,
    &#39;8.0&#39; => &#39;test 8.0&#39;,
    default => &#39;没有匹配值&#39;
};  //匹配8.0

可以和表达式匹配

function test3() {
    return 8.0;
}
$a = 8.0;
echo match($a) {
    test3() => &#39;匹配函数&#39;,
    8.0 => &#39;匹配8.0&#39;,
    &#39;8.0&#39; => &#39;test 8.0&#39;,
    9,10,11 => &#39;多次匹配&#39;, //多次匹配
    default => &#39;没有匹配值&#39;
};  //匹配函数

match 为强类型匹配,还有一点需要注意的是之前 match (){} 花括号后要写 ;

class Point {
  public function __construct(
    public float $x = 1.0,
    public float $y = 2.0,
    public float $z = 3.0,
  ) {}
}
echo (new Point())->x; // 1

Die Reihenfolge der Parameter muss nicht festgelegt werden

rrreeerrreeerrreeeSie können auch Tun Sie diesrrreee

Es ​​ist nicht abwärtskompatibel.

Match-Ausdrücke

🎜rrreee🎜Match ist ein starker Typ-Match ( ){} Schreiben Sie nach den geschweiften Klammern ;, ein Schalter ist nicht erforderlich🎜🎜🎜Attribute können direkt im Konstruktor definiert werden🎜🎜rrreee🎜Empfohlenes Lernen: „🎜PHP Video Tutorial🎜“🎜

Das obige ist der detaillierte Inhalt vonLassen Sie uns über einige neue grammatikalische Funktionen von PHP8 sprechen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen