Memo-Code-Sharing für einige neue Funktionen in PHP7.0 und 7.1

黄舟
Freigeben: 2023-03-06 18:16:02
Original
2395 Leute haben es durchsucht

Im Folgenden sind einige neue Funktionen der Versionen PHP 7.0 und 7.1 aufgeführt.

PHP 7.0

?? Operator

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

// 相当于 $bar = isset($bar) ? $bar : 123
Nach dem Login kopieren

Parametertyp, Rückgabetyp und strikter Modus

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

declare(strict_types=1);

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

fn(1.2);
Nach dem Login kopieren

Kombinierter Vergleichsoperator

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

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

Generator mit Rückgabewert

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

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

var_dump($generator->getReturn());
Nach dem Login kopieren
Bei Verwendung von

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

Definition
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());
Nach dem Login kopieren
Konstante

Array

Mehrfachverwendungsdeklaration
define(&#39;COLORS&#39;, [&#39;red&#39;, &#39;blue&#39;, &#39;black&#39;]);
echo COLORS[1];  // red
Nach dem Login kopieren

Array-Destrukturierung
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};
Nach dem Login kopieren

PHP 7.1
list($a, $b) = ["a", "b"];
Nach dem Login kopieren

JIT

JIT, just-in-time zur Laufzeit einige Anweisungen in Maschinencode umwandeln. Bei rechenintensiven Anwendungen ergibt sich eine höhere Leistungssteigerung.

Optionaler Parametertyp

Beachten Sie den Unterschied zum Standardparameterwert:
function(?string $name)
{
    var_dump($name);
}

// 传参类型为 string 或 null
Nach dem Login kopieren

Array-Destrukturierung
function(string $name = "default-name")
{
    var_dump($name);
}
Nach dem Login kopieren

iterierbare und aufrufbare Pseudoklassentypen
[$a, $b] = ["a", "b"];
Nach dem Login kopieren

verwenden den aufrufbaren Typ, um darzustellen, dass der Parametertyp ein aufrufbarer Typ ist (
Funktion

, Klasseninstanz, die invoke implementiert);

Verwenden Sie den iterierbaren Typ, um den Parametertyp auf den iterierbaren Typ zu beschränken (Array, Klasseninstanz, die Iterator oder Traversable
Schnittstelle 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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!