Mailinglisten-Archive |
Hallo ! Danke für die Antwort. Das Array in dem gesucht werden soll hat folgenden Aufbau: $basis = array(); $basis[0]['id] = 1; $basis[0]['name] = 'Mustermann'; $basis[0]['vorname'] = 'Max'; $basis[1]['id] = 2; $basis[1]['name] = 'Hülsensack'; $basis[1]['vorname'] = 'Franz'; Wenn ich jetzt nach 'Hülsensack' habe ich eine äußere Schleife. (0 bis 1) und dann eine innere Schleife in der Spalte 'name'. Diese zwei Schleifen will ich weg haben. Momentan teste ich deine Lösungsvariante. Gruß Stephan Thomas Koudela <thomas at koudela.net> hat am 13. September 2011 um 13:44 geschrieben: > 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 > > -- > ** Allgemeine deutschsprachige PHP-Liste: php at phpbar.de ** > Informationen: http://www.phpbar.de > http://lists.phpbar.de/mailman/listinfo/php >
php::bar PHP Wiki - Listenarchive