Mailinglisten-Archive |
Hi Liste ;-) Ich hätte da mal eine Frage, hat nicht direkt etwas mit PHP zu tun - ich hoffe aber doch dass mir jemand weiter helfen kann. Ich habe zwei einfache Arrays die nur Zahlen beinhalten, also zb: Array1: 1,5,6,9,15 Array2: 1,2,5,7,8,10 Nun möchte ich alle Zahlen herausfinden die in BEIDEN Arrays vorkommen, das ist natürlich auch kein Problem: <? for($i=0;$i<sizeof($array1);$i++) { for($i2=0;$i2<sizeof($array2);$i2++) { if($array1[$i]==$array2[$i2]) { echo "$array1[$i]\n"; } } } ?> (nicht getestet ;-)) Bei diesem Beispiel wird 5 Mal die 1. Schleife durchgegangen, dh. gesamt gibt es 30 Durchgänge. Gibt es für genau die selbe Anwendung auch eine andere Lösung?? Denn wenn ich jede Zahl mit jeder anderen vergleichen muß kann das ziemlich mühsam für den Server werden - ich denke da an große Datenmengen in denen im Array1 und Array2 je 100.000 Einträge sind (wären 10.000.000.000 Durchgänge). Kennt jemand zufällig einen anderen Algorithmus mit dem das einfacher und schneller geht??? Für Sachen wie zb. Sortieren gibt es ja genug (Quick Sort usw.), aber zum vergleichen von zwei Arrays??? Ich habe schon angedacht, dass ganze zu machen mit < > abfragen und eventuell den Zähler $i nicht um eins erhöhnen, sondern zb. in 1000 Schritte weiter gehen? Muß nicht in PHP sein, könnte auch eine andere Programmiersprache sein ;-) Vielen Dank für jede Hilfe! Flo
php::bar PHP Wiki - Listenarchive