flexible-heredoc-nowdoc.phpt 888 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128
  1. --TEST--
  2. Flexible heredoc/nowdoc syntax
  3. --FILE--
  4. <?php
  5. $test = 'c';
  6. var_dump(<<<'END'
  7. END);
  8. var_dump(<<<END
  9. END);
  10. // Insufficient indentation is fine if the line is whitespace-only
  11. // Using eval() here to avoid issue with trailing whitespace trimming
  12. var_dump(eval("return <<<END
  13. \x20
  14. \x20\x20END;"));
  15. echo <<<'END'
  16. a
  17. b
  18. c
  19. d
  20. e
  21. END, PHP_EOL;
  22. echo <<<END
  23. a
  24. b
  25. $test
  26. d
  27. e
  28. END, PHP_EOL;
  29. echo <<<'END'
  30. a
  31. b
  32. c
  33. d
  34. e
  35. END, PHP_EOL;
  36. echo <<<END
  37. a\r\n
  38. \ta\n
  39. b\r\n
  40. $test\n
  41. d\r\n
  42. e\n
  43. END, PHP_EOL;
  44. echo <<<'END'
  45. a
  46. b
  47. c
  48. d
  49. e
  50. END, PHP_EOL;
  51. $var = 'Bar';
  52. var_dump(<<<TEST
  53. $var
  54. TEST);
  55. $var = 'Bar';
  56. var_dump(<<<TEST
  57. $var
  58. TEST);
  59. ?>
  60. --EXPECT--
  61. string(0) ""
  62. string(0) ""
  63. string(0) ""
  64. a
  65. b
  66. c
  67. d
  68. e
  69. a
  70. b
  71. c
  72. d
  73. e
  74. a
  75. b
  76. c
  77. d
  78. e
  79. a
  80. a
  81. b
  82. c
  83. d
  84. e
  85. a
  86. b
  87. c
  88. d
  89. e
  90. string(3) "Bar"
  91. string(4) "
  92. Bar"