Hinzufügen bedingter assoziativer Elemente zu einem Array in PHP
Beim Bearbeiten von Arrays in PHP kann es vorkommen, dass das Hinzufügen eines bestimmten Elements von bestimmten Elementen abhängt Bedingungen. Beispielsweise möchten Sie möglicherweise ein Element mit einem bestimmten Schlüssel und Wert nur dann einschließen, wenn eine bestimmte Bedingung als wahr ausgewertet wird.
Ursprüngliches Problem:
Bedenken Sie das folgende Array :
<code class="php">$arr = ['a' => 'abc'];</code>
Sie möchten mithilfe der array()-Anweisung bedingt ein neues Element mit dem Schlüssel „b“ und dem Wert „xyz“ zu diesem Array hinzufügen. Allerdings lässt der ternäre Operator solche bedingten Additionen nicht zu.
Lösung in PHP 8.1:
Mit der Einführung von PHP 8.1 können Sie diese bedingte Elementaddition erreichen Verwenden des Array-Entpackens:
<code class="php">$condition = true; // Replace with your actual condition $arr = [ 'foo' => 'bar', ...($condition ? ['baz' => 'boo' ] : []), ];</code>
Mit dieser Syntax können Sie ein Array innerhalb eines vorhandenen Arrays basierend auf der Auswertung einer Bedingung entpacken. Wenn in diesem Fall $condition wahr ist, wird das Array ['baz' => 'boo'] wird in $arr zusammengeführt. Andernfalls wird es übersprungen.
Diese Lösung nutzt den neuen Spread-Operator (...), der in PHP 8.1 eingeführt wurde, der das Entpacken von Sequenzen (einschließlich Arrays) in verschiedenen Kontexten ermöglicht.
Das obige ist der detaillierte Inhalt vonWie füge ich in PHP 8.1 bedingt Elemente zu einem Array hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!