function foo() { function foo2() { return "bar!"; } return foo2(); }
function bar() { $v1 = foo1(0); var_dump($v1); $v2 = foo2(0); var_dump($v2); $v3 = foo3(0); var_dump($v3); }
function foo() { $f = new MyClass(); return foo2($f); }
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));
$var++; } $a = 5; foo($a); echo $a . "\n"; //6 /** * params: not function return variable, not expression, not number or string... * must variables */ function foo2(&$var) { $var++; } function bar() { $a = 5; return $a; } foo2($a = 5); echo $a . "\n"; //6 //foo2(bar()); // Produces fatal error since PHP 5.0.5 - Strict Standards //foo2(5); // Produces fatal error ?> </pre> <?php require_once '../../includes/footer.php'; ?>
<?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";
<?php function foo(&$x, &$y) { $x = 1; echo $y; } $x = 0; foo($x, $x); // prints 1 .. function foo2($x, &$y, $z) { echo $x; // 0 echo $y; // 1 $y = 2; } $x = 0; foo2($x, $x, $x = 1); echo $x; // 2
function foo8() { $x = array(); return (bool) $x; } function foo9() { $x = array(1, 2, 3); return (bool) $x; } function foo10() { $x = array(); return (string) $x; } function foo11() { $x = array(1, 2, 3); return (string) $x; } var_dump(foo1()); var_dump(foo2(5, 6)); var_dump(foo3()); var_dump(foo4()); var_dump(foo5()); var_dump(foo6(2)); var_dump(foo7(2)); var_dump(foo8()); var_dump(foo9()); var_dump(foo10()); var_dump(foo11());
function foo() { 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";
function foo1($a) { foo2($a); }
<?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 foo($a) { echo $a; } function foo2($a) { foo($a); } foo("hello world"); foo2("hello world");
{ 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 case2() { foo2(); }
<?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())));
<?php /** *func_get_args() *func_get_arg() */ //func_get_args() function foo1() { var_dump(func_get_args()); } foo1(2, 3, 4, 'A', time()); //func_get_arg() function foo2() { //func_get_ var_dump(func_get_arg(1)); } foo2(2, 4, 5);
class foo { function foo($name) { $GLOBALS['List'] =& $this; $this->Name = $name; $GLOBALS['List']->echoName(); } function echoName() { $GLOBALS['names'][] = $this->Name; echo "Foo"; } } function &foo2(&$foo) { return $foo; } $bar1 =& new foo('constructor'); $bar1->Name = 'outside'; $bar1->echoName(); $List->echoName(); $bar1 =& foo2(new foo('constructor')); $bar1->Name = 'outside'; $bar1->echoName(); $List->echoName(); print $names == array('constructor', 'outside', 'outside', 'constructor', 'outside', 'outside') ? 'success' : 'failure'; print "\nthe array:\n"; print_r(array('constructor', 'outside', 'outside', 'constructor', 'outside', 'outside')); print "\n\$names:\n"; print_r($names);
switch ($i) { case 1: doX(); break; case 2: doY(); break; case 3: // NOK {{This case's code block is the same as the block for the case on line 21.}} doX(); break; case 4: case 5: case 6: doA(); case 7: break; default: break; } $condition ? foo1() : foo1(); // NOK {{This conditional operation returns the same value whether the condition is "true" or "false".}} $condition ? $nestedCondition ? foo1() : foo2() : $nestedCondition ? foo1() : foo2(); // NOK $condition ? $nestedCondition ? foo1() : foo1() : foo2(); // NOK false ? false ? foo(3) : foo(4) : foo(5); // OK false ? false ? foo(1) : foo(1) : foo(5); // NOK false ? false ? foo($b) : foo($b) : foo(5);
$bar = "outside"; function foo() { //global $bar; $bar = "inside"; } foo(); echo $bar . "<br />"; ?> <br /> <?php $bar = "outside"; function foo2($var) { $var = "inside"; return $var; } $bar = foo2($bar); echo $bar . "<br />"; ?> <br> <br> </p></td> </tr> </table></td> </tr> </table> </body> </html>
<?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";
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));
} 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();