phpbar.de logo

Mailinglisten-Archive

[php] suche in einem Array

[php] suche in einem Array

Thomas Koudela thomas at koudela.net
Di Sep 13 13:44:23 CEST 2011


Ich nehme mal an, dass Dein Array in etwa so aussieht:
$arr[$id] = Array('vorname' => $vorname, 'name' => $name);

$hash = Array();
foreach ($arr as $id => $ary) {
 if (!isset($hash[$ary['name']])) $hash[$ary['name']] = Array($id);
 else $hash[$ary['name']][] = $id;
}

Wenn Du nun wieder 'Hülsensack' suchst:
$alleTreffer = $hash['Hülsensack'];

Auf diese Weise benötigst Du nur eine einzige Schleife, egal wie häufig
Du suchen musst.

Gruß,
Thomas






--
Thomas Koudela
Programmierdienstleistungen von A bis Web

Mozartstraße 6
D-45529 Hattingen

+49 (0)2324 392320
www.koudela.net




Am Dienstag, den 13.09.2011, 13:23 +0200 schrieb Stephan:
> Hallo !
>  
> Irgendwo habe ich mal gehört das Schleifen gaaaaaaaaaaanz schlecht sind. :-)
> Im Moment arbeite ich mit 2-dimensionalen Arrays.
> Bsp.:
>  
> _____________________
> id | vorname | name
> ______________________
> 1  | Max  | Mustermann
> _______________________
> 2  | Franz| Hülsensack
> _______________________
>  
> Nun gibt es eine fortwährend wiederkehrende Aufgabe.
> Bsp.: Suche unter 'Name' nach 'Hülsensack'.
>  
> Mit einer Schleife kein Problem. Aber gehtb es nicht irgendwie eleganter ?
>  
> Gruß Stephan


php::bar PHP Wiki   -   Listenarchive