PageRenderTime 51ms CodeModel.GetById 27ms RepoModel.GetById 0ms app.codeStats 0ms

/hphp/test/slow/collection_classes/set-brackets-at-get.php

http://github.com/facebook/hiphop-php
PHP | 66 lines | 65 code | 1 blank | 0 comment | 0 complexity | 3bbfa44d4a1a6a4af8eebc3f18921c78 MD5 | raw file
Possible License(s): LGPL-2.1, BSD-2-Clause, BSD-3-Clause, MPL-2.0-no-copyleft-exception, MIT, LGPL-2.0, Apache-2.0
  1. <?hh
  2. function brackets($x, $k) {
  3. try {
  4. var_dump($x[$k]);
  5. } catch (Exception $e) {
  6. echo $e->getMessage(), "\n";
  7. }
  8. }
  9. function do_isset($x, $k) {
  10. try {
  11. var_dump(isset($x[$k]));
  12. } catch (Exception $e) {
  13. echo $e->getMessage(), "\n";
  14. }
  15. }
  16. function do_empty($x, $k) {
  17. try {
  18. var_dump(!($x[$k] ?? false));
  19. } catch (Exception $e) {
  20. echo $e->getMessage(), "\n";
  21. }
  22. }
  23. function main() {
  24. $x = Set {5, 'a', 0, ''};
  25. $y = ImmSet {5, 'a', 0, ''};
  26. var_dump($x[5], $x['a'], $x[0], $x['']);
  27. var_dump($y[5], $y['a'], $y[0], $y['']);
  28. echo "----\n";
  29. var_dump(isset($x[5]), isset($x['a']), isset($x[0]), isset($x['']));
  30. var_dump(isset($y[5]), isset($y['a']), isset($y[0]), isset($y['']));
  31. echo "----\n";
  32. var_dump(!($x[5] ?? false), !($x['a'] ?? false), !($x[0] ?? false), !($x[''] ?? false));
  33. var_dump(!($y[5] ?? false), !($y['a'] ?? false), !($y[0] ?? false), !($y[''] ?? false));
  34. echo "----\n";
  35. brackets($x, null);
  36. brackets($x, 3);
  37. brackets($x, 'b');
  38. brackets($y, null);
  39. brackets($y, 3);
  40. brackets($y, 'b');
  41. echo "----\n";
  42. do_isset($x, null);
  43. do_isset($x, 3);
  44. do_isset($x, 'b');
  45. do_isset($y, null);
  46. do_isset($y, 3);
  47. do_isset($y, 'b');
  48. echo "----\n";
  49. do_empty($x, null);
  50. do_empty($x, 3);
  51. do_empty($x, 'b');
  52. do_empty($y, null);
  53. do_empty($y, 3);
  54. do_empty($y, 'b');
  55. echo "----\n";
  56. unset($x[5]);
  57. unset($x['a']);
  58. unset($x[123]);
  59. unset($x['b']);
  60. var_dump($x);
  61. }
  62. <<__EntryPoint>>
  63. function main_set_brackets_at_get() {
  64. main();
  65. }