php > $a = 2/0;
PHP Warning: Division by zero in php shell code on line 1
php > var_dump( $a );
bool(false)
PHP Warning: Division by zero in php shell code on line 1
php > var_dump( $a );
bool(false)
Moments of joy with PHP - (and other languages (but mostly PHP :D))
<?
$a = array(1,2,3);
$b = array(2,3);
var_dump($a==$b); // false
var_dump($a===$b); // false
array_shift($a); // $a = (2,3)
var_dump($a==$b); // true
var_dump($a===$b); // true (!)
$x = new StdClass();
$y = new StdClass();
var_dump($x == $y); // true
var_dump($x === $y); // false
class X {};
$p = new X();
$q = new X();
var_dump($p == $q); // true
var_dump($p === $q); // false
$r = array();
var_dump($p == $r); // false
var_dump($p === $r); // false
var_dump("X" == X); // true
var_dump("X" === X); // true
0815===0 = true
010===8 = true
"010"==10 = true
"010"==8 = false
"010"=="8" = false
"010"=="10" = true
"0xf"=="15" = true
"08"=="0" = false
018==1 = true
"01"==0 = false
"0xf"=="015" = true
<?
function test ($exp) {
echo sprintf("%15s = %s\n",$exp,eval("return ".$exp.";")?"true":"false");
}
test("0815===0");
test("010===8"); // true
test('"010"==10'); // true
test('"010"==8'); // false
test('"010"=="8"'); // false
test('"010"=="10"'); // true
test('"0xf"=="15"');
test('"08"=="0"');
test('018==1');
test('"01"==0');
test('"0xf"=="015"');
<?
var_dump(1 == "1 dog"); // true
var_dump(1 == "1 cat"); // true
var_dump("1 cat" == "1 dog"); // false
var_dump(1 == "0x1 dog"); // true
var_dump("1 dog" == "0x1 dog"); // false
bool(true)
bool(true)
bool(false)
bool(true)
bool(false)
<?
$a = array(1,2,3);
$b = array(1,2,3);
var_dump($a === $b); // true;
$a[] = 4;
var_dump($a === $b); // false
bool(true)
bool(false)