Partage de code mémo pour certaines nouvelles fonctionnalités de PHP7.0 et 7.1

黄舟
Libérer: 2023-03-06 18:16:02
original
2384 Les gens l'ont consulté

Voici quelques nouvelles fonctionnalités des versions PHP 7.0 et 7.1.

PHP 7.0

?? Opérateur

$foo = null;
$bar = $foo ?? 123;

// 相当于 $bar = isset($bar) ? $bar : 123
Copier après la connexion

Type de paramètre, type de retour et mode strict

// 在严格模式下,传参类型不匹配会抛出错误

declare(strict_types=1);

function fn(int $a) : int
{
    echo $a;
}

fn(1.2);
Copier après la connexion

Opérateur de comparaison combiné

Renvoie 0 lorsque les deux sont égaux ;

Le premier renvoie 1 lorsqu'il est supérieur au second
Ce dernier renvoie - ; 1 lorsqu'il est supérieur au premier ;

var_dump($a <=> $b);
Copier après la connexion
$a = 0;
$b = "abc";

var_dump($a <=> $b);
// 注意,字符串在与数字比较时会被当作 0;
Copier après la connexion

générateur avec valeur de retour

function generator()
{
    yield 1;
    yield 2;
    return "a";
}

$generator = generator();
foreach ($generator as $val) {
    var_dump($val);
}

var_dump($generator->getReturn());
Copier après la connexion

Lors de l'utilisation de $generator->getReturn() sans valeur de retour, <🎜 sera renvoyé >. De plus, lorsque le générateur ne produit pas complètement, l'utilisation de null signalera une erreur. $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());
Copier après la connexion
Définition

ConstanteArray

define(&#39;COLORS&#39;, [&#39;red&#39;, &#39;blue&#39;, &#39;black&#39;]);
echo COLORS[1];  // red
Copier après la connexion
Déclaration à usage multiple

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};
Copier après la connexion
Déstructuration de tableau

list($a, $b) = ["a", "b"];
Copier après la connexion
PHP 7.1

JIT

JIT, juste à temps Convertissez certaines instructions en code machine pendant l'exécution. Il existe une amélioration des performances plus élevée pour les applications gourmandes en calcul.

Type de paramètre facultatif

function(?string $name)
{
    var_dump($name);
}

// 传参类型为 string 或 null
Copier après la connexion
Notez la différence par rapport à la valeur du paramètre par défaut :

function(string $name = "default-name")
{
    var_dump($name);
}
Copier après la connexion
Déstructuration du tableau

[$a, $b] = ["a", "b"];
Copier après la connexion
Les types de pseudo-classes itérables et appelables

utilisent le type appelable pour représenter que le type de paramètre est un type appelable (

fonction, instance de classe qui implémente l'invocation

Utilisez le type itérable pour limiter le type de paramètre au type itérable (tableau, instance de classe qui implémente Iterator ou Traversable
interface

Capture de type d'exception multiple

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:php.cn
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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!