Összehasonlítás különböző típusok között PHP-ben
Szeretném a tisztelt PHP-s közösség figyelmét kérni egy témában, amin ma kissé felhúztam magamat. Hogy lehet, hogy (php 5.0.4, xp) az alábbi kódsor:
$i=0;
if ($i=='!') echo "ddddd";
-nál az if ág true fele hajtódik végre?
tudná más is tesztelni ezt a kódsort? post a php alapól sz*r, vagy a 5.0.4 win32 a bugos, vagy mi van ilyenkor?
Köszönettel: Balázs
$i=0;
echo "0 to boolean : ". (bool) 0 ."<br>";
echo "! to boolean : ". (bool)'!' ."<br>";
if ($i!='!') echo "Fukcing PHP, $i";
if ($i=='!') echo "Fukcing PHP, $i == '!' ";
if ($i==='!') echo "Fukcing PHP, $i === '!' ";
---------------------------------
eredmény:
0 to boolean :
! to boolean : 1
Fukcing PHP, 0 == '!'
■ $i=0;
if ($i=='!') echo "ddddd";
-nál az if ág true fele hajtódik végre?
tudná más is tesztelni ezt a kódsort? post a php alapól sz*r, vagy a 5.0.4 win32 a bugos, vagy mi van ilyenkor?
Köszönettel: Balázs
$i=0;
echo "0 to boolean : ". (bool) 0 ."<br>";
echo "! to boolean : ". (bool)'!' ."<br>";
if ($i!='!') echo "Fukcing PHP, $i";
if ($i=='!') echo "Fukcing PHP, $i == '!' ";
if ($i==='!') echo "Fukcing PHP, $i === '!' ";
---------------------------------
eredmény:
0 to boolean :
! to boolean : 1
Fukcing PHP, 0 == '!'
RTFM
Thanx
Azért a php-ben az eléggé zavar, hogy nem szól egy csomó dologért, amit mondjuk C-ben kötelezően, és egyértelmüen le kell írni.....
RTFM ismét ;-)
Pedig ott van egyből egy link: Converting to boolean
Másrészt:
Comparison Operators, van ott egy Identical nevű. Amire amúgy elég gyakran nincs szükség, egyszerűen ismerni kell a nyelvet.