Maison > développement back-end > PHP8 > le corps du texte

Parlons de quelques nouvelles fonctionnalités grammaticales de PHP8

藏色散人
Libérer: 2023-02-17 11:54:01
avant
3625 Les gens l'ont consulté

Cet article vous présente quelques nouvelles fonctionnalités grammaticales de PHP8. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il sera utile à tout le monde.

Quelques nouvelles fonctionnalités de syntaxe de PHP8

Paramètres nommés

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

Aussi跳过参数

test('Landy', sex: '女'); //Landy-------18--------女
Copier après la connexion

L'ordre des paramètres n'a pas besoin d'être corrigé

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

Vous pouvez également le faire

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
)
Copier après la connexion

Ce n'est pas rétrocompatible. Les fonctions après PHP8.0 peuvent utiliser des paramètres nommés

. L'expression de correspondance

$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
Copier après la connexion

peut correspondre à l'expression

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;
};  //匹配函数
Copier après la connexion

match est une correspondance de type fort. Une autre chose à noter est qu'avant match (){}, vous devez écrire. < après les accolades 🎜>, le switch n'est pas nécessaire ;

Les propriétés peuvent être définies directement dans le constructeur

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
Copier après la connexion
Apprentissage recommandé : "

Tutoriel vidéo PHP"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:learnku.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal