Neue Funktionen von PHP7.4
PHP7.4 wurde veröffentlicht. Hat einige neue Funktionen gebracht. Dadurch können wir weniger Code schreiben.
1. Qualifizierten Typ zu Attributen hinzufügen
<?php class User { public int $age; public string $name } $user = new User(); $user->age = 10; $user->name = "张三"; //error $user->age = "zhang";//需要传递int
2. Pfeilfunktion
Diese Funktion bezieht sich im Wesentlichen auf die Syntax von ES6 in Js . Dadurch können wir weniger Code schreiben. Wenn Ihr Code die Funktion fn hat. Kann in Konflikt geraten
<?php $factor = 10; $nums = array_map(fn($n)=>$n * $factor,[1,2,3]);//[10,20,30] //之前的写法 $nums = array_map(function($num)use($factor){ return $num * $factor; },[1,2,3])
3. Begrenzte Rückgabetyp-Kovarianz und Parametertyp-Kontravarianz
Vollständige Kovarianz-/Kontravarianzunterstützung wird nur bei Verwendung von Autoloading bereitgestellt. Innerhalb einer einzelnen Datei können nur nichtzyklische Typreferenzen verwendet werden, da alle Klassen verfügbar sein müssen, bevor sie referenziert werden.
<?php class A {} class B extends A {} class Producer { public function method(): A {} } class ChildProducer extends Producer { public function method(): B {} } ?>
4. Array-Entpacken
Verwenden Sie den Spread-Operator..., um das Array zu entpacken. Diese Funktion sollte von js übernommen werden. Siehe Beispiel
<?php
$parts = ['apple', 'pear'];
$fruits = ['banana', 'orange', ...$parts, 'watermelon'];//['banana', 'orange', 'apple', 'pear', 'watermelon'];
//老的写法
$fruits = array_merge(['banana', 'orange'],$parts,['watermelon']);
5. Null-Koaleszenzoperatorzuweisung
<?php $array['key'] ??= computeDefault(); // 老的写法 if (!isset($array['key'])) { $array['key'] = computeDefault(); } ?>
6. Numerisches Literaltrennzeichen
Zahlenliterale können Unterstriche zwischen Zahlen enthalten.
<?php 6.674_083e-11; // float 299_792_458; // decimal 0xCAFE_F00D; // hexadecimal 0b0101_1111; // binary ?>
Auslösen von Ausnahmen von __toString() zulassen
In der Vergangenheit führte dies zu einem schwerwiegenden Fehler, der bei der String-Konvertierung behoben werden konnte Schwerwiegende Fehler wurden in Fehlerausnahmen umgewandelt.
8. Filter
FILTER_VALIDATE_FLOAT hinzugefügt
<?php filter_var(1.00,FILTER_VALIDATE_FLOAT); filter.filters.validate
9. strip_tags unterstützt Arrays
<?php strip_tags($str,['p','a','div']); //老的写法 strip_tags($str,"<p><a><div>"); 废弃的特性 1. 没有显式括号的嵌套三元运算符 <?php 1 ? 2 : 3 ? 4 : 5; // deprecated (1 ? 2 : 3) ? 4 : 5; // ok 1 ? 2 : (3 ? 4 : 5); // ok ?>
Während des Interviews, Endlich Ich muss mich nicht darum kümmern, Sie nach dem Ergebnis zu fragen. Tatsächlich schreibt in der Produktion nicht jeder so.
2. Zugriff in geschweiften Klammern auf den Array-Index Um ehrlich zu sein, ist dies das erste Mal, dass ich das habe gesehen, und es ist verlassen, was darauf hinweist, dass niemand es auf diese Weise verwenden wird. 3. reelle und is_reale Zahlen 4. Das Schlüsselwort parent wird in einer Klasse ohne übergeordnete Klasse verwendet. Die Verwendung von parent in einer Klasse ohne übergeordnete Klasse wird durchgeführt Kompilierungsfehler verursachen. 5. Money_format-Funktion money_format ist veraltet und wurde durch numberFormater ersetzt 6. Erweiterungen entfernt Das obige ist der detaillierte Inhalt vonZusammenfassung der neuen Funktionen von PHP7.4. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!<?php
$arr = ["a"=>"111"];
$index = "a";
$arr{$index}//废弃
$arr[$index];
<?php
$num = "";
$a = (real) $num;//废弃
$a = (float) $num;
<?php
class Test{
public function index()
{
return parent::index();//编译错误
}
}
1.Firebird/Interbase
2.Recode
3.WDDX