json_encode_basic.phpt 2.6 KB

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