expertenaustausch > comp.lang.* > comp.lang.php.misc

Bela Kun (28.08.2009, 11:56)
Hallo folgendes Schnipped:

<?php

$day = date('w');
$hour = date('H:i');

if ($day = "1" ||
$day = "2" ||
$day = "3" ||
$day = "4" && (

($hour >= "10:00" && $hour <= "12:00") ||
($hour >= "13:00" && $hour <= "15:00") ||
($hour >= "16:00" && $hour <= "18:00") ||
($hour >= "19:00" && $hour <= "21:00") ||
($hour >= "22:00" && $hour <= "24:00") ))
{
echo "Ok!";
}
else
{
echo "Fehler!";
}

?>

Heute ist Freitag und somit Day = 5, warum gibt mir der Code trotzdem OK aus?

Gruß
Bela
Claus Reibenstein (28.08.2009, 12:06)
Bela Kun schrieb:

> if ($day = "1" ||


Dies ist eine Zuweisung, keine Abfrage. Du meinst sicher:

if ($day == "1" ||

Gruß. Claus
Carsten Wiedmann (28.08.2009, 12:10)
Bela Kun schrieb:
> if ($day = "1" ||
> $day = "2" ||
> $day = "3" ||
> $day = "4" && (
> Heute ist Freitag und somit Day = 5, warum gibt mir der Code trotzdemOK
> aus?


Die Zuweisung "=" des Wertes "1" zu der Variablen $day hat funktioniert, und
somit ist die Bedingung erfüllt. Du willst hier einen Vergleich "==" machen.

BTW:
Wenn du den konstanten Wert vorne hinschreibst, wäre dir das gleich
aufgefallen. Also:
| if ('1' == $day) {}

anstatt:
| if ($day == '1') {}

Den Unterschied bemerkst du gleich, wenn du mal zum Test ein "=" benutzt im
oberen Beispiel, anstatt das "==" (Fehler: einer Konstanten kann man keinen
Wert zuweisen).

Gruß
Carsten
Carsten Wiedmann (28.08.2009, 12:11)
Bela Kun schrieb:
> > if ($day = "1" ||
> > $day = "2" ||
> > $day = "3" ||
> > $day = "4" && (
> > Heute ist Freitag und somit Day = 5, warum gibt mir der Code trotzdem OK
> > aus?


Die Zuweisung "=" des Wertes "1" zu der Variablen $day hat funktioniert, und
somit ist die Bedingung erfüllt. Du willst hier einen Vergleich "==" machen.

BTW:
Wenn du den konstanten Wert vorne hinschreibst, wäre dir das gleich
aufgefallen. Also:
| if ('1' == $day) {}

anstatt:
| if ($day == '1') {}

Den Unterschied bemerkst du gleich, wenn du mal zum Test ein "=" benutzt im
oberen Beispiel, anstatt das "==" (Fehler: einer Konstanten kann man keinen
Wert zuweisen).

Gruß
Carsten
Bela Kun (28.08.2009, 12:36)
Claus Reibenstein <4spamersonly> schrieb:
> Bela Kun schrieb:
>> if ($day = "1" ||

> Dies ist eine Zuweisung, keine Abfrage. Du meinst sicher:
> if ($day == "1" ||


Oh man bin ich doof, das ist mir jetzt richtig peinlich :-(
Kommt wohl davon wenn man seit gestern 18h am tippen ist,
ich mus sins Bett - jetzt :-)

Gruß
Bela
Claus Reibenstein (28.08.2009, 12:47)
Bela Kun schrieb:

> ich mus sins Bett - jetzt :-) ¯¯¯¯¯¯¯¯


Allerdings :-)

Gute Nacht.

Claus
Ähnliche Themen