Autor |
Nachricht |
nicki4lu
Threadersteller
Dabei seit: 28.06.2005
Ort: Frankfurt (Oder)
Alter: 39
Geschlecht:
|
Verfasst Di 22.11.2005 12:20
Titel [ PHP ] Gewaltiges Array durchsuchen - Performanceoptimiert |
|
|
Hallo,
ich habe ein Array mit mehr als 3000 Einträgen. Dieses will ich nun durchsuchen, allerdings nicht alles.
Es sind keys vorhanden, die teilweise den gleichen anfang haben, allerdings machne mehr hinter. Ein kleines Beispiel: ich suche alle vorkommen von 1234 in den Array-Keys, also den Key 1234 aber auch den Key 12345. Wenn ich nun das ganze Array 5 mal durchlaufenlasse, dauert dies verdammt lang, bei 10 mal noch länger
Gibt es da eine Möglichkeit sich die passenden Keys und Values ohne vorheriges durchsuchen zurückgeben zu lassen?
Nicki
|
|
|
|
|
gtz
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Di 22.11.2005 12:30
Titel
|
|
|
Zitat: | Gibt es da eine Möglichkeit sich die passenden Keys und Values ohne vorheriges durchsuchen zurückgeben zu lassen? |
Code: |
foreach($foo as $key=>$value){
bar();
}
|
|
|
|
|
|
Anzeige
|
|
|
nicki4lu
Threadersteller
Dabei seit: 28.06.2005
Ort: Frankfurt (Oder)
Alter: 39
Geschlecht:
|
Verfasst Di 22.11.2005 12:32
Titel
|
|
|
gtz hat geschrieben: | Zitat: | Gibt es da eine Möglichkeit sich die passenden Keys und Values ohne vorheriges durchsuchen zurückgeben zu lassen? |
Code: |
foreach($foo as $key=>$value){
bar();
}
|
|
Aber so wird wieder das ganze Array durchsucht?! Und was ist dir bar()-Funktion???
Nicki
|
|
|
|
|
gtz
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Di 22.11.2005 12:44
Titel
|
|
|
n bischen denken musste schon selber.
|
|
|
|
|
Seashore
Dabei seit: 23.05.2005
Ort: Bochum
Alter: 42
Geschlecht:
|
Verfasst Di 22.11.2005 12:45
Titel
|
|
|
Die bar()-Funktion ist ein Beispiel. So wie tuwas() oder randomCode() oder... du verstehst?
foreach ist tatsächlich ein einfacher Weg, das von dir Gewünschte zu erreichen. Das Array wird genau einmal durchlaufen, und du kannst in einem Rutsch alle gesuchten Einträge ausgeben, abspeichern etc..
Vielleicht hilft dir aber auch das hier weiter:
http://de3.php.net/manual/de/function.array-filter.php
|
|
|
|
|
nicki4lu
Threadersteller
Dabei seit: 28.06.2005
Ort: Frankfurt (Oder)
Alter: 39
Geschlecht:
|
Verfasst Di 22.11.2005 13:12
Titel
|
|
|
Hi,
hab in der Zeit jetzt selber noch was zur filter()-Funktion gefunden und ich denke, dass ist wirklich der beste weg zu meinem Ziel zu kommen. Aber danke. Nochmal zu der Foreach-Schleife: Da ich das Array für mindestens 10 Werte durchsuchen lassen muss, dauert foreach einfach zu lange. Deshalb hatte ich ja nach einer anderen Funktion gefragt. Sowas wie: gebe alle aus, deren Key mit $var begnnt oder sowas... Aber ich versuch mal filter und denke, dass es klappen wird...
Nicki
|
|
|
|
|
dastef
Dabei seit: 03.11.2003
Ort: -
Alter: -
Geschlecht:
|
Verfasst Di 22.11.2005 18:10
Titel
|
|
|
nimmste ein foreach() und nen regulären Ausdruck dazu, und der
Käse is gegessen .. wa?
|
|
|
|
|
gtz
Dabei seit: 15.04.2002
Ort: -
Alter: 48
Geschlecht:
|
Verfasst Di 22.11.2005 18:15
Titel
|
|
|
ein strstr tuts auch.
|
|
|
|
|
|
|
|
Ähnliche Themen |
Fieses PHP/MySQL-Skript gibt nur "Array Array Array..." aus
OS X | CSV Dateien durchsuchen
Diesen Mac durchsuchen!
Tool zum Textdateien durchsuchen
[PHP] lokale Folders durchsuchen?
Mit Google meine Seite durchsuchen..
|
|