Benutzername    Passwort    Autologin    
  Passwort vergessen       Registrieren  
beeForum Foren-übersicht » hal9000
Neues Thema eröffnen   Neue Antwort erstellen Hervorhebung entfernen


Einen String richtig finden mit strpos()
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
boris



Beiträge: 10130

Titel: Einen String richtig finden mit strpos()
Verfasst am: Mi, 17 Jun 2009, 23:16
Beitrag
Antworten mit Zitat

Um einen String in einem anderen zu finden, gibt es mehrere Möglichkeiten. strstr soll dafür schon verwendet worden sein, schneller und weniger speicherfressend ist aber strpos.

Die Syntax:

Code:
int strpos  ( string $haystack  , mixed $needle  [, int $offset= 0  ] )

Es gibt nur ein Problem: da in PHP die Strings bei der Position "0" anfangen, muß die Rückgabe "0", die gemeinhin als "false" interpretiert wird, nicht auch heißen, daß der gesuchte String nicht vorkommt, sondern "0" kann auch bedeuten, daß der gesuchte String ganz am Anfang des "haystacks" steht.
Ein Hilfsmittel ist es oft, an den "haystack" vorne ein Space anzuhängen, damit der gesuchte String erst ab Position 1 vorkommen kann und das überflüssige Leerzeichen nachher wieder abzuschneiden - das ist auch auch nicht toll, vor allem, wenn man z.B. ausgerechnet nach einem Space sucht ...

Abhilfe schafft der "typensichere Vergleich":

PHP-Code:
1
2
3
<?php
  $found 
= (strpos($haystack$needle) !== false);
?>

Durch das dreifache =-Zeichen (bzw. hier die Negierung) wird sichergestellt, daß auch der Typ der Rückgabe übereinstimmt, in diesem Fall wird also ein boolescher Wert erwartet und nicht nur die Zahl (integer) "0". In der Variable "$found" findet sich dann das Ergebnis (true oder false), ob der String gefunden wurde, auch wenn er direkt am Anfang steht.


____________
beehave - home of humbug ... [we can't afford to be neutral]

Nach oben
Private Nachricht senden Website dieses Benutzers besuchen Rang:godmode methusalem 3. platz professioneller Sportangler Profi-Winzer (7x Hamm) Arcade-Meister, Rang 16 rainbow-cup
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    beeForum Foren-übersicht » hal9000 Seite 1 von 1
Gehe zu:  



ähnliche Beiträge
Thema Autor Forum Antworten Verfasst am
Keine neuen Beiträge Wie isst der Typ einen Maiskolben? jrose drive-by shooting 0 Fr, 18 März 2016, 20:44 Letzten Beitrag anzeigen
Keine neuen Beiträge Film: M - Eine Stadt sucht einen Mörder boris zelluloid 0 Fr, 04 Dez 2015, 00:03 Letzten Beitrag anzeigen
Keine neuen Beiträge Ronaldo ordentlich einen mitgegeben! Hansch bananenflanke 1 Di, 17 Jun 2014, 10:24 Letzten Beitrag anzeigen
Keine neuen Beiträge 27 Dinge, die nur Entwickler lustig finden jrose hal9000 0 Fr, 26 Jul 2013, 20:11 Letzten Beitrag anzeigen
Keine neuen Beiträge Die Wolkenmaschine haut mal so richtig einen raus jrose drive-by shooting 3 Mo, 12 Nov 2012, 23:43 Letzten Beitrag anzeigen


Schreiben: nein. Antworten: nein. Bearbeiten: nein. Löschen: nein. Umfragen: nein.
phpBB © phpBB Group | impressum