Hallo,
if (strpos("12"."45"."126", $sonne)) ...
Hier muss Du etwas vorsichtig sein. Das liefert nur (annaehernd) das gewollte, wenn $sonne wirklich ein String ist. Wenn $sonne ein Integer ist (was ich vermute), dann verhaelt sich strpos anders als oben der Operator ==
Bist du sicher? Hatte nämlich extra bei strpos nachgelesen, und dort steht "mixed" beim zweiten Parameter. Könnte natürlich sein, dass es sich dann trotzdem anders verhält. Um das zu beurteilen kenne ich PHP zu wenig und habe mich auch extra vorsichtig ausgedrückt. Wie anders verhält sich denn dann strpos? Kann es mir gerade gar nicht vorstellen (außer vielleicht mit negativen Integer).
Da fällt mir noch eine Vereinfachung ein:
if (strpos("45126", $sonne)) ...
Es gelten natürlich die gleichen Einschränkungen. Selber würde ich nicht so coden, zumal die Vereinfachung – wenn überhaupt vorhanden – ziemlich marginal ist.
Das Konzept von Pruefungen von Werten ist nicht, dass man *anninmmt*, dass keine unerwuenschten Werte auftreten, sondern dass man dieses - genau - prueft ;-)
Ein if() muss man ja nicht zwingend als strenge "Prüfung" auffassen. Oft mus man nichts annehmen oder überprüfen, sondern man weiß ganz genau, welche Werte überhaupt nur vorkommen können und mach dann lediglich eine Unterscheidung. ;)
Gruß, Don P