function bar() { $v1 = foo1(0); var_dump($v1); $v2 = foo2(0); var_dump($v2); $v3 = foo3(0); var_dump($v3); }
function foo1() { return NAN * NAN; } function foo2() { return NAN * 2; } function foo3() { return INF * NAN; } function foo4() { return 2.0 * INF; } function foo5() { return INF * INF; } function foo6($a) { return $a * 2.0; } var_dump(foo1()); var_dump(foo2()); var_dump(foo3()); var_dump(foo4()); var_dump(foo5()); var_dump(foo6(3.1));
{ echo __NAMESPACE__ . "\n"; } function foo2() { echo __NAMESPACE__ . "\n"; } function foo5() { echo __NAMESPACE__ . "\n"; } } namespace A\B\C { foo(); foo2(); foo3(); foo4(); foo5(); function foo4() { } } namespace A\B\C\D { function foo() { echo __NAMESPACE__ . "\n"; } function foo2() { echo __NAMESPACE__ . "\n"; }
return $x - $x + 3; } function foo5($x) { return $x + 3 - $x; } function foo6($x) { return 0 - $x; } function foo7($x) { return $x - 0; } function foo8($x) { return $x - 1; } function foo9($x) { return 1 - $x; } var_dump(foo1(5, 2)); var_dump(foo2(1, 2)); var_dump(foo3(-3)); var_dump(foo4(5)); var_dump(foo5(5)); var_dump(foo6(-3)); var_dump(foo7(3)); var_dump(foo8(4)); var_dump(foo9(-2));
return $x | $x; } function foo5($x) { return -1 | $x; } function foo6($x, $y, $z) { return $x & $y | $x & $z; } function foo7($x, $y, $z) { return $y & $x | $x & $z; } function foo8($x, $y, $z) { return $x & $y | $z & $x; } function foo9($x, $y, $z) { return $y & $x | $z & $x; } var_dump(foo1()); var_dump(foo2()); var_dump(foo3(4)); var_dump(foo4(4)); var_dump(foo5(4)); var_dump(foo6(4, 6, 7)); var_dump(foo7(4, 6, 7)); var_dump(foo8(4, 6, 7)); var_dump(foo9(4, 6, 7));
<?php error_reporting(E_ALL); function foo1($arg) { } function foo2($arg) { } function foo3($arg) { echo $undef3; throw new Exception("test"); } try { @error_reporting(@foo1(@foo2(@foo3()))); } catch (Exception $e) { } var_dump(error_reporting()); echo "Done\n";
<?php error_reporting(E_ALL); function foo1($arg) { } function foo2($arg) { } function foo3($arg) { error_reporting(E_ALL | E_STRICT); echo $undef3; throw new Exception("test"); } try { @foo1(@foo2(@foo3())); } catch (Exception $e) { } var_dump(error_reporting()); echo "Done\n";
function bar3($x, $y) { return $x > 10 ? foo3($x + $y, $y) : $y; }
<?php function foo1($a, $b) { return $a - 4 + ($b - 9); } function foo2($a, $b) { return $a - 3 + 7; } function foo3($a, $b) { return $a - 3 - 7; } function foo4($a, $b) { return $a - 4 + ($b + 9); } $vals = array(array(0, 0), array(1, 1), array(-3, 5), array(5, -3), array(20, -50), array(20, 0)); foreach ($vals as list($a, $b)) { var_dump(foo1($a, $b)); var_dump(foo2($a, $b)); var_dump(foo3($a, $b)); var_dump(foo4($a, $b)); }
<?php function foo1() { $x = "ab"; $y = "c"; return $x . $y; } function foo2() { $x = "x"; $y = "y"; $z = "z"; return $x . $y . $z; } function foo3($x) { $y = "c"; return $x . $y; } var_dump(foo1()); var_dump(foo2()); var_dump(foo3("ab"));
{ return $y * $x + $z * $x; } function foo9($x, $y) { return $x * 3 * ($y * 7); } function foo10($x) { return 3 * $x * 7; } function foo11($x) { return $x * 8; } function foo12($x) { return $x * -8; } var_dump(foo1()); var_dump(foo2(6)); var_dump(foo3(6, 2)); var_dump(foo4(-12)); var_dump(foo5(2, 1, 5)); var_dump(foo6(2, 1, 5)); var_dump(foo7(2, 1, 5)); var_dump(foo8(2, 1, 5)); var_dump(foo9(2, 5)); var_dump(foo10(2)); var_dump(foo11(7)); var_dump(foo12(3));
function case4() { foo3(); }
<?php class X { } class Y { } class Z extends Y { } function foo(X $x) { return get_class($x); } function foo2(Y $y) { return is_string(get_class($y)); } function foo3($x) { if (is_object($x)) { return get_class($x); } return ""; } var_dump(foo(new X())); var_dump(foo2(new Z())); var_dump(is_string(foo3(new stdclass())));
function foo2() { try { try { throw new Exception("catched"); return true; } finally { try { throw new Exception("catched"); } catch (Exception $e) { } } } catch (Exception $e) { } } $foo = foo2(); var_dump($foo); function foo3() { try { throw new Exception("not catched"); return true; } finally { try { throw new NotExists(); } catch (Exception $e) { } } } $bar = foo3();