Einzelnen Beitrag anzeigen
  #14 (permalink)  
Alt 07-01-2015, 15:11
Benutzerbild von fireweasel fireweasel
 Registrierter Benutzer
Links : Onlinestatus : fireweasel ist offline
Registriert seit: Sep 2008
Ort: At home
Beiträge: 851
fireweasel wird schon bald berühmt werdenfireweasel wird schon bald berühmt werden
fireweasel eine Nachricht über AIM schicken fireweasel eine Nachricht über Yahoo! schicken
Standard

Zitat:
Öhmmm...
Mich deucht, du übertreibst....
Mir deucht, du überschätztest das Ausmaß meiner Übertreibung.
Ich wollte nur ein wenig spielen.
Zitat:
Errege dich, wenn du magst....
Nicht "erregt", nur ein wenig verwundert. Ich empfand deine bisherigen Beiträge immer als lehrreich.
Zitat:
Ich hoffe, dich stört es nicht, wenn mich dieses langweilt ....
Nö, es langweilt mich ja auch schon ...
Aber man ist ja froh, wenn hier überhaupt noch etwas passiert ...

Zitat:
Zitat von combie Beitrag anzeigen
Foreach arbeitet (intern) auch mit einer Kopie des Arrays.
(soweit mir bekannt)
Ähmm, nein ... es erzeugt lediglich eine Kopie des Array-"Zeigers", der Rest wird referenziert. (soweit mir bekannt)

Zitat:
Welches die automatische Müllabfuhr blendend wieder bereinigt.
Nur, wenn das Script nicht schon vorher beendet wurde, weil der Speicher nicht ausreichte. Aber das passiert vermutlich in diesem simplen Beispiel nicht.

Mir ging es nicht um (Micro-)Optimierung, sondern um Aufgabentreue. Guckstu:

Aufgabenstellung:
* Finde Array-Eintrag und lösche ihn.

Array_filter()-Lösung:
* Finde alle Einträge, die nicht dem Suchkriterium entsprechen.
* Kopiere diese in ein temporäres Array.
* Überschreibe anschließend damit das Ursprungs-Array (das deswegen extra in der Parameterliste per & referenziert werden muss).

Das finde ich ein klein wenig über das Ziel hinausgeschossen, wenn es im Idealfall array_search() und unset() auch getan hätten.

Zitat:
...
Am Speichermanagement von PHP rockt eher wenig.

Zitat:
Da muss ich dich leider enttäuschen.
Ob es löscht, oder nicht, die Key Zuordnung bleibt erhalten.
Zumindest bei meinem PHP .....
Stimmt, du hast recht: "... Array keys are preserved."

Array_filter() gibt also ein Array zurück, das genauso strukturiert ist, wie eines, aus dem man die Einträge von Hand (per unset()) gelöscht hat.

Ich bin bisher davon ausgegangen, dass es das Array als Liste betrachtet und nicht als assoziatives Array.

*Wieder_was_gelernt*

Zitat:
Grundsätzlich würde ich bei solchen Problemstellungen eher auf Datenbanken zurückgreifen. Und dem entsprechend auf automatisch vergebene IDs setzen und nicht auf wackelige Zeitstempel.
Deswegen hatte ich das in meinem ersten Beitrag auch schon erwähnt ... ganz unten am Ende ...

Geändert von fireweasel (07-01-2015 um 15:42 Uhr) Grund: fixed: missverständliche formulierung + smiley-syntax
Mit Zitat antworten