Das RFC-Votum für die Unterstützung von Spread-Operatoren in Array-Ausdrücken ist überwältigend dafür, diese Funktion zu PHP 7.4 hinzuzufügen.
Erweiterungsoperatorunterstützung für das Entpacken von Parametern gab es erstmals in PHP 5.6, und dieser RFC erweitert die Verwendung von Arrays; Erweiterungen können Arrays und Objekte von Traversable unterstützen. Hier ist ein einfaches Beispiel aus dem RFC:
$parts = ['apple', 'pear']; $fruits = ['banana', 'orange', ...$parts, 'watermelon']; // ['banana', 'orange', 'apple', 'pear', 'watermelon'];
Hier sind weitere Beispiele:
$arr1 = [1, 2, 3]; $arr2 = [...$arr1]; // [1, 2, 3] $arr3 = [0, ...$arr1]; // [0, 1, 2, 3] $arr4 = array(...$arr1, ...$arr2, 111); // [1, 2, 3, 1, 2, 3, 111] $arr5 = [...$arr1, ...$arr1]; // [1, 2, 3, 1, 2, 3] function getArr() { return ['a', 'b']; } $arr6 = [...getArr(), 'c']; // ['a', 'b', 'c'] $arr7 = [...new ArrayIterator(['a', 'b', 'c'])]; // ['a', 'b', 'c'] function arrGen() { for($i = 11; $i < 15; $i++) { yield $i; } } $arr8 = [...arrGen()]; // [11, 12, 13, 14]
unterstützt keine Zeichenfolgenschlüssel; Sie können nur indizierte Arrays verwenden. Der Autor des RFC erklärt die Schlüsselunterstützung wie folgt:
Um das Verhalten beim Argument-Entpacken konsistent zu halten, werden Zeichenfolgenschlüssel nicht unterstützt. Ein behebbarer Fehler wird ausgelöst, nachdem ein Zeichenfolgenschlüssel gefunden wurde.
Weitere technische Artikel zum Thema PHP finden Sie in der Spalte PHP-Tutorial, um mehr darüber zu erfahren!
Das obige ist der detaillierte Inhalt vonPHP 7.4 neue Syntax: Array-Spread-Operator. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!