Maison >développement back-end >tutoriel php >Partage de code mémo pour certaines nouvelles fonctionnalités de PHP7.0 et 7.1
Voici quelques nouvelles fonctionnalités des versions PHP 7.0 et 7.1.
$foo = null; $bar = $foo ?? 123; // 相当于 $bar = isset($bar) ? $bar : 123
// 在严格模式下,传参类型不匹配会抛出错误 declare(strict_types=1); function fn(int $a) : int { echo $a; } fn(1.2);
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;
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 denull
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
define('COLORS', ['red', 'blue', 'black']); echo COLORS[1]; // redDé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.1JIT
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 或 nullNotez 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 (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 Traversableinterface
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!