json_encode_basic.phpt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. --TEST--
  2. Test json_encode() function : basic functionality
  3. --FILE--
  4. <?php
  5. echo "*** Testing json_encode() : basic functionality ***\n";
  6. //get an unset variable
  7. $unset_var = 10;
  8. unset ($unset_var);
  9. // get a resource variable
  10. $fp = fopen(__FILE__, "r");
  11. // get an object
  12. class sample {
  13. }
  14. $obj = new sample();
  15. $obj->MyInt = 99;
  16. $obj->MyFloat = 123.45;
  17. $obj->MyBool = true;
  18. $obj->MyNull = null;
  19. $obj->MyString = "Hello World";
  20. // array with different values for $string
  21. $inputs = array (
  22. // integers
  23. 0,
  24. 123,
  25. -123,
  26. 2147483647,
  27. -2147483648,
  28. // floats
  29. 123.456,
  30. 1.23E3,
  31. -1.23E3,
  32. // boolean
  33. TRUE,
  34. true,
  35. FALSE,
  36. false,
  37. // NULL
  38. NULL,
  39. null,
  40. // strings
  41. "abc",
  42. 'abc',
  43. "Hello\t\tWorld\n",
  44. // arrays
  45. array(),
  46. array(1,2,3,4,5),
  47. array(1 => "Sun", 2 => "Mon", 3 => "Tue", 4 => "Wed", 5 => "Thur", 6 => "Fri", 7 => "Sat"),
  48. array("Jan" => 31, "Feb" => 29, "Mar" => 31, "April" => 30, "May" => 31, "June" => 30),
  49. // empty data
  50. "",
  51. '',
  52. // undefined data
  53. @$undefined_var,
  54. // unset data
  55. @$unset_var,
  56. // resource variable
  57. $fp,
  58. // object variable
  59. $obj
  60. );
  61. // loop through with each element of the $inputs array to test json_encode() function
  62. $count = 1;
  63. foreach($inputs as $input) {
  64. echo "-- Iteration $count --\n";
  65. var_dump(json_encode($input));
  66. $count ++;
  67. }
  68. ?>
  69. --EXPECT--
  70. *** Testing json_encode() : basic functionality ***
  71. -- Iteration 1 --
  72. string(1) "0"
  73. -- Iteration 2 --
  74. string(3) "123"
  75. -- Iteration 3 --
  76. string(4) "-123"
  77. -- Iteration 4 --
  78. string(10) "2147483647"
  79. -- Iteration 5 --
  80. string(11) "-2147483648"
  81. -- Iteration 6 --
  82. string(7) "123.456"
  83. -- Iteration 7 --
  84. string(4) "1230"
  85. -- Iteration 8 --
  86. string(5) "-1230"
  87. -- Iteration 9 --
  88. string(4) "true"
  89. -- Iteration 10 --
  90. string(4) "true"
  91. -- Iteration 11 --
  92. string(5) "false"
  93. -- Iteration 12 --
  94. string(5) "false"
  95. -- Iteration 13 --
  96. string(4) "null"
  97. -- Iteration 14 --
  98. string(4) "null"
  99. -- Iteration 15 --
  100. string(5) ""abc""
  101. -- Iteration 16 --
  102. string(5) ""abc""
  103. -- Iteration 17 --
  104. string(18) ""Hello\t\tWorld\n""
  105. -- Iteration 18 --
  106. string(2) "[]"
  107. -- Iteration 19 --
  108. string(11) "[1,2,3,4,5]"
  109. -- Iteration 20 --
  110. string(72) "{"1":"Sun","2":"Mon","3":"Tue","4":"Wed","5":"Thur","6":"Fri","7":"Sat"}"
  111. -- Iteration 21 --
  112. string(58) "{"Jan":31,"Feb":29,"Mar":31,"April":30,"May":31,"June":30}"
  113. -- Iteration 22 --
  114. string(2) """"
  115. -- Iteration 23 --
  116. string(2) """"
  117. -- Iteration 24 --
  118. string(4) "null"
  119. -- Iteration 25 --
  120. string(4) "null"
  121. -- Iteration 26 --
  122. bool(false)
  123. -- Iteration 27 --
  124. string(82) "{"MyInt":99,"MyFloat":123.45,"MyBool":true,"MyNull":null,"MyString":"Hello World"}"