PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   PHP Grundlagen (http://www.selfphp.de/forum/forumdisplay.php?f=12)
-   -   Check (http://www.selfphp.de/forum/showthread.php?t=7979)

martin_E 18.06.2004 10:27:00

Check
 
Ich versuche gerade einen kleinen Check durchzuführen...

Vom Prinzip her sollte das so funktionieren:

Eine Zahl wird vom Benutzer eingegeben, sie darf nur die Werte 0, 240, oder 255 haben. Ansonsten wird ein Fehler ausgegeben.

PHP-Code:

$zahl

if ($zahl != || $zahl != 240 || $zahl != 255)
    { echo 
"Fehler!"

Ich dachte mir das dies eigentlich funktionieren müsste - tut es aber nicht, d.h. der Fehler wird immer ausgegeben.

Kann mir da jemand weiterhelfen !?

bazubi 18.06.2004 10:33:07

PHP-Code:

if (!($zahl == || $zahl == 240 || $zahl == 250)) {

echo 
"Fehler";




martin_E 18.06.2004 10:38:04

Danke!

Hast du zufälligerweise noch eine Erklärung weshalb das so ist?

feuervogel 18.06.2004 10:54:02

du hast hier eine oder-verknüpfung in der bebingung. damit die oder verknüpfung war wird, muss nur eines der einzelnen glieder war werden...

$zahl != 0 || $zahl != 240 || $zahl != 255

egal welche zahl du nimmst, sie ist immer ungleicht 0 oder 240 oder 255, denn eine zahl kann ja nicht 0, 240 und 255 zugleich sein.

wenn du eine und-verknüpfung hast, müssen alle aussagen wahr werden, damit die bedingung wahr wird. du könntest also auch schreiben:

$zahl != 0 && $zahl != 240 && $zahl != 255

nun hat bazubi einfach nachgeschaut, ob das, was du willst (nämlich sei $zahl = 0, 240 oder 255) wahr ist, aber negiert, wenn sie also nicht gleich ist.

martin_E 18.06.2004 13:01:18

ja klar.. logisch eigentlich :)

Danke!

feuervogel 18.06.2004 19:45:47

ja, das hat einiges mit (aussagen-)"logik" zu tun:)


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:51:25 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.