Aloha ;)
Viel zu aufwendig bei der geringen Datenmenge. Einfach durchlaufen und den Schlüssel mit dem Anfang der Telefonnummer vergleichen.
Das sind dann aber ~1300 Vergleiche statt 30. Das macht sich im Zweifelsfall schon bemerkbar.
Und? Da zuckt doch die CPU nicht mal mit der Wimper.
$nummer = "081547112342"; $liste = []; for ($i = 0; $i < 5300; $i++) { $liste["01" . $i] = "dummy"; } echo microtime(1), "\n"; foreach ($liste as $vorwahl => $ort) { if (substr($nummer, $vorwahl) === 0)) { echo "gefunden\n"; } } echo microtime(1), "\n";
Die $nummer ist nicht in der Vorwahl-$liste enthalten, sie wird also vollständig durchlaufen. Selbst wenn du auf 530000 Vorwahlen erhöhst, wirst du keine Verzögerung merken.
Okay, ich gebe dir Recht. Das sind nicht die Maßstäbe, bei denen heutige Maschinen in die Knie gehen.
Grüße,
RIDER
--
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[