PHP hat einige großartige Funktionen (wie array_walk), mit denen Sie jedes Element in einem Array verarbeiten können. Sie sind in der Regel so eingerichtet, dass Sie das Array angeben, das als erster Parameter verarbeitet werden soll, und eine Rückruffunktion, die auf jedes Element als zweites angewendet wird. Diese Funktionen geben boolesche Werte zurück, die auf Erfolg hinweisen, nicht wie erwartet eine Kopie des geänderten Arrays. Wenn das Array geändert werden soll, muss das Array wie folgt übergeben werden: array_walk(&$my_array, 'my_callback');
Verwenden von Funktionen wie array_walk (und ähnliche Funktionen) zum Ändern von Arrays in PHP> = 5.3
Wenn Sie jedoch in PHP 5.3 und höher als Verweis auf Funktionsaufruf übergeben werden, erhalten Sie einen Fehler E_DEPRECATED.
Kennt jemand (wenn vorhanden) einen korrekten Weg, diese Funktionen zu verwenden, um Arrays zu modifizieren, ohne die Fehler auszulösen und sie nicht explizit zu unterdrücken? Gibt es neuere Alternativen zu diesen alten Array-Verarbeitungsfunktionen?
Ah ... Danke, macht Sinn. Interessante Nuance - Sie können nicht per Referenz aufrufen, aber Sie können eine Funktion/Methode mit Argumenten definieren, auf die verwiesen wird. http://php.net/manual/en/language.references.pass.php Ich wünsche immer noch, dass diese Funktionen Kopien von modifizierten Arrays oder null statt booleans zurückgegeben! – Ray
Ja, genau. Freut mich zu helfen. –