Ich habe eine Sammlung, die ich iterieren und ändern möchte, während ich einige seiner Elemente abrufe. Aber ich konnte keinen Weg oder eine Methode finden, um das abgerufene Element zu entfernen.Wie kann ich ein Sammelelement nach dem Abrufen entfernen (entfernen)?
$selected = [];
foreach ($collection as $key => $value) {
if ($collection->selected == true) {
$selected[] = $value;
unset($value);
}
}
Dies ist nur eine Darstellung meiner Frage zur Demonstration.
Nachdem @Ohgodwhy die Funktion forget() empfohlen habe, habe ich es nochmal überprüft und gesehen, dass ich die Funktion tatsächlich falsch verstanden habe. Es war genau nach dem ich gesucht habe. Nachdem ich "$ collection-> forget ($ key)" innerhalb der if-Anweisung wie die Demo unten hinzugefügt habe, hat es funktioniert.
$selected = [];
foreach ($collection as $key => $value) {
if ($collection->selected == true) {
$selected[] = $value;
$collection->forget($key);
}
}
(dies ist nur eine Demonstration)
Ich würde vorschlagen, nicht die Elemente in einem Array zu speichern, aber eine neue Kollektion und das Hinzufügen der Elemente, um es durch Push erstellen. – Amarnasan
@Amarnasan Wie würde das gehen? Ich brauche es jetzt nicht, aber ich denke, dass ich es in der Zukunft brauchen könnte –