[gelöst] Browsergame - direktes 1 vs. 1
-
Shade Of Mine schrieb:
nein. so ein cast schlägt nie fehl:
v
ist zb ein sehr naiver test ob $v eine zahl ist.Kann man so nicht sagen
$v = (int)"Hallo" ? "ok" : "failed";
... ergibt zum Beispiel "failed".
LG
-
RandomAccess85 schrieb:
$v = (int)"Hallo" ? "ok" : "failed";
Das ist etwa das Glieche, wie:
$v=0; echo ($v ? "ok" : "failed");
Das Problem ist einfach, dass 0 mit false gleichgesetzt wird. Da "Hallo" keine Zahl enthaelt, wird das zur 0 und damit bei der Abfrage als false gewertet. Anders wuerde es damit laufen:
$v = (int)"Hallo"; if($v!==false) echo "ok"; else echo "failed";
Wichtig ist der !== Operator.
-
RandomAccess85 schrieb:
Shade Of Mine schrieb:
nein. so ein cast schlägt nie fehl:
v
ist zb ein sehr naiver test ob $v eine zahl ist.Kann man so nicht sagen
$v = (int)"Hallo" ? "ok" : "failed";
... ergibt zum Beispiel "failed".
Und?
Der cast ist nicht fehlgeschlagen, du hast 0 als Wert erhalten.
-
Hallo,
na um die Fehlerbehandlung kann man sich - wenn man schon an der Stelle ist - auch selbst kümmern.
$v = (int)"Hallo" ? "ok" : "failed"; // $v = failed $v = (int)1 ? "ok" : "failed"; // $v = ok
*zu faul zum Einloggen
LG
-
RandomAccess85* schrieb:
Hallo,
na um die Fehlerbehandlung kann man sich - wenn man schon an der Stelle ist - auch selbst kümmern.
$v = (int)"Hallo" ? "ok" : "failed"; // $v = failed $v = (int)1 ? "ok" : "failed"; // $v = ok
*zu faul zum Einloggen
LG
$v = (int)0 ? "ok" : "failed"; // v = (int)"123abc" ? "ok" : "failed"; // $v = ok
-
Ok,
ich verstehe den Einwand
LG