Im Folgenden sind einige neue Funktionen der Versionen PHP 7.0 und 7.1 aufgeführt.
$foo = null; $bar = $foo ?? 123; // 相当于 $bar = isset($bar) ? $bar : 123
// 在严格模式下,传参类型不匹配会抛出错误 declare(strict_types=1); function fn(int $a) : int { echo $a; } fn(1.2);
Gibt 0 zurück, wenn die beiden gleich sind
Ersterer gibt 1 zurück, wenn er größer als letzterer ist; 1, wenn es größer als das erstere ist;
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());
Bei Verwendung vonDefinitionohne a Rückgabewert, <🎜 wird zurückgegeben >. Wenn der Generator außerdem nicht vollständig ausgibt, wird bei Verwendung von
$generator->getReturn()
ein Fehler gemeldet.null
$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());
define('COLORS', ['red', 'blue', 'black']); echo COLORS[1]; // red
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};
list($a, $b) = ["a", "b"];
Optionaler ParametertypBeachten Sie den Unterschied zum Standardparameterwert:
function(?string $name) { var_dump($name); } // 传参类型为 string 或 null
function(string $name = "default-name") { var_dump($name); }
[$a, $b] = ["a", "b"];
FunktionVerwenden Sie den iterierbaren Typ, um den Parametertyp auf den iterierbaren Typ zu beschränken (Array, Klasseninstanz, die Iterator oder TraversableSchnittstelle implementiert
); Erfassung mehrerer Ausnahmetypen
Das obige ist der detaillierte Inhalt vonMemo-Code-Sharing für einige neue Funktionen in PHP7.0 und 7.1. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!