phpbar.de logo

Mailinglisten-Archive

[php] OT: Array vergleichen

[php] OT: Array vergleichen

Florian Petter php_(at)_phpcenter.de
Fri, 6 Apr 2001 20:19:05 +0200


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