Sven Rautenberg: Array nach Werten filtern

Beitrag lesen

Moin!

ich habe ein Array, in dem Mitarbeiterdaten gespeichert sind:

z.B.
$user_array[$i][stadt]

$i ist numerisch, stadt ist ein schlüssel von mehreren. Ich möchte jetzt nach einer bestimmten Stadt filtern, z.B. sollen nur die aus "Berlin" berücksichtigt werden.

Bisher habe ich das so gemacht:

foreach($user_array AS $i) {
  if ($i[stadt] == "Berlin") {
    Verarbeitung;
    break;
  }
}


>   
> Aus Performance-Gründen möchte ich aber nicht mehr das komplette Array durchlaufen, sondern ich möchte es vorher filtern und dann durchlaufen. Geht sowas?  
  
Uiii, "Performance-Gründe" - die kannst du nur anführen, wenn du jetzt schon Meßergebnisse liefern kannst, wie lange dein Code derzeit läuft, und insbesondere, in welchen Abschnitten des Gesamtcodes wieviel Zeit draufgeht.  
  
Ohne zu messen kann man an der Performance nämlich nichts verbessern - man muß wissen, wie schnell etwas war, um erkennen zu können, ob sich durch Veränderung was verbessert oder verschlechtert hat.  
  
Aber damit das hier nicht nur ein leeres Gejammer wird: Handbuch gecheckt? Vermutlich nein, denn es gibt eine Funktion, die perfekt zu deinem Betreff passt. "Array nach Werten filtern" -> [array_filter()](http://de.php.net/array_filter)  
  
 - Sven Rautenberg