PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Vorschlag für die strpos-Seite


Jan
30.01.2004, 14:38:01
Hallo!

Ich schlage vor, auf die strpos (http://www.selfphp.com/funktionsreferenz/string_funktionen/strpos.php)-Seite einen gerade für unerfahrene Programmierer wichtigen Hinweis zu geben:

strpos liefert ja die erste Position des Suchstrings innerhalb eines String zurück.

strpos("p","Selfphp" ) liefert somit 4 zurück.

Jedoch liefert strpos("S","Selfphp") den Wert "0" zurück, was sehr leicht zu ungewollten Schleifenterminierungen führen kann, da das Ergebnis zu leicht als "false" interpretiert werden kann:

if (!strpos("S","Selfphp")) echo "Kein 'S' gefunden!";

Mir ist das jedenfalls schon desöfteren passiert, mittlerweile weiß ich jedoch um das Problem.

Wäre aber klasse, wenn das in eure Hilfe einfließen kann.
Ein Workaround ist, vor dem Suchen ein irrelevantes Zeichen an den String zu hängen, also z.B.:
$suchstring = "Selfphp";
$ergebnis = strpos("S","#".$suchstring);
if ($ergebnis) echo "Ein 'S' an Stelle ".($ergebnis-1)." gefunden.";
else echo "Kein 'S' gefunden.";

Viele Grüße

Jan

c4
30.01.2004, 16:17:56
Was wohl leichter ist, wäre diese Variante:if (strpos('S', 'SelfPHP')!==false) { ... }

|Coding
02.02.2004, 21:02:19
hi,

der hinweis ist gut, jedoch denke ich mal sollte jeder mit der beschreibung klar kommen. ich finde sie nicht wirklich missverständlich. es würde aber wohl auch etwas den überschaubaren rahmen von selfphp sprengen, wenn man versuche jede funktion so deteiliert zuerklären.

wer sich das aufmerksam durchlies, wird sich schon zurecht finden. nun ja, anfänger machen sicher mehr fehler als profis, aber das gehört zum lernen doch irgendwie dazu...

meikel
02.02.2004, 21:27:22
Original geschrieben von Jan
Ich schlage vor, auf die strpos (http://www.selfphp.com/funktionsreferenz/string_funktionen/strpos.php)-Seite einen gerade für unerfahrene Programmierer wichtigen Hinweis zu geben:
Der Hinweis steht doch im Manual drin:
http://de2.php.net/strpos

|Coding
03.02.2004, 18:29:34
hi,

das "php.net" manual ist jawohl keine anlaufstelle für anfänger, wohl eher für fortgeschrittene, die bereits ein gefestigtes grundwissen haben.

feuervogel
03.02.2004, 18:31:04
ein admin ist im support-bereich

*kreuzimkalendermacht*

|Coding
03.02.2004, 19:05:56
öhm, jo!

sorry, aber die theoretische facharbeiterprüfung hatte vorrang. :-)

c4
03.02.2004, 19:07:52
sorry, aber die theoretische facharbeiterprüfung hatte vorrang. :-)Streber! Du hintergehst PHP! Du verrätst uns! Du betrügst uns für Wissen! Ich bin erschüttert!






PS: ;)

|Coding
03.02.2004, 19:13:27
toll carsten, jetzt mache ich mir vorwürfe bis an mein lebensende. obwohl, wenn ich so recht überlege... ich kann gut damit leben :-))


PS: jetzt auch noch fett, also echt... :-)