Maison >développement back-end >tutoriel php >Partage de code mémo pour certaines nouvelles fonctionnalités de PHP7.0 et 7.1

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

黄舟
黄舟original
2018-01-09 13:10:032413parcourir

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

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

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

declare(strict_types=1);

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

fn(1.2);

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);
$a = 0;
$b = "abc";

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

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());

Lors de l'utilisation de $generator->getReturn() sans valeur de retour, . 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());
Définition

ConstanteArray

define(&#39;COLORS&#39;, [&#39;red&#39;, &#39;blue&#39;, &#39;black&#39;]);
echo COLORS[1];  // red
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};
Déstructuration de tableau

list($a, $b) = ["a", "b"];
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
Notez la différence par rapport à la valeur du paramètre par défaut :

function(string $name = "default-name")
{
    var_dump($name);
}
Déstructuration du tableau

[$a, $b] = ["a", "b"];
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!

Déclaration:
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