Advertisement
Guest User

Untitled

a guest
Jun 18th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.46 KB | None | 0 0
  1. $add = function ($valone,$valtwo) {
  2. return $valone + $valtwo;
  3. };
  4. $add(1,2) // 3
  5.  
  6. $y = 1;
  7. $fn = function ($x) use ($y) {
  8. return $x + $y;
  9. };
  10. echo $fn(2); // 3
  11.  
  12. $y = 1;
  13. $fn = fn($x) => $x + $y;
  14. echo $fn(2); // 3
  15.  
  16. class foo {
  17. public function test() {
  18. $context = fn($thethis) => var_dump($thethis);
  19. $context($this);
  20. }
  21. }
  22. $test = new foo();
  23. $test->test(); // object(foo)#1 (0) { }
  24.  
  25. $y = 1;
  26. $fn = fn() => $y++;
  27. $fn(); // Has no effect
  28. echo $y // 1
  29.  
  30. fn(int $x) => $x; // the argument type must be (int)
  31. fn(): int => $x; // type of return value (int)
  32.  
  33. $var = 10;
  34. $int_fn = fn(int $x): int => $x;
  35. var_dump($int_fn($var)); // int(10)
  36. try {
  37. $int_fn("foo");
  38. } catch (TypeError $e) {
  39. echo $e->getMessage(), "n"; // Argument 1 passed to {closure}() must be of the type int, string given, called in x on line y
  40. }
  41.  
  42. $funn = fn(?int... $args): array => $args;
  43. var_dump($funn(20, null, 30)); // Array(3) { [0]=> int(20) [1]=> NULL [2]=> int(30) }
  44.  
  45. $var = 6;
  46. var_dump((fn() => fn() => $var)()()); // int(6)
  47. var_dump((fn() => function() use($var) { return $var; })()()); // int(6)
  48.  
  49. ini_set('display_errors', 1);
  50. ini_set('display_startup_errors', 1);
  51. error_reporting(E_ALL);
  52. $b = 1;
  53. fn() => $b + $c; // no error, nothing
  54.  
  55.  
  56. ini_set('display_errors', 1);
  57. ini_set('display_startup_errors', 1);
  58. error_reporting(E_ALL);
  59. $b = 1;
  60. (fn() => $b + $c)(); // Notice: Undefined variable: c in the location on line x
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement