pass001.phpt 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696
  1. --TEST--
  2. JSON (http://www.crockford.com/JSON/JSON_checker/test/pass1.json)
  3. --INI--
  4. serialize_precision=-1
  5. --FILE--
  6. <?php
  7. $test = "
  8. [
  9. \"JSON Test Pattern pass1\",
  10. {\"object with 1 member\":[\"array with 1 element\"]},
  11. {},
  12. [],
  13. -42,
  14. true,
  15. false,
  16. null,
  17. {
  18. \"integer\": 1234567890,
  19. \"real\": -9876.543210,
  20. \"e\": 0.123456789e-12,
  21. \"E\": 1.234567890E+34,
  22. \"\": 23456789012E666,
  23. \"zero\": 0,
  24. \"one\": 1,
  25. \"space\": \" \",
  26. \"quote\": \"\\\"\",
  27. \"backslash\": \"\\\\\",
  28. \"controls\": \"\\b\\f\\n\\r\\t\",
  29. \"slash\": \"/ & \\/\",
  30. \"alpha\": \"abcdefghijklmnopqrstuvwyz\",
  31. \"ALPHA\": \"ABCDEFGHIJKLMNOPQRSTUVWYZ\",
  32. \"digit\": \"0123456789\",
  33. \"special\": \"`1~!@#$%^&*()_+-={':[,]}|;.</>?\",
  34. \"hex\": \"\\u0123\\u4567\\u89AB\\uCDEF\\uabcd\\uef4A\",
  35. \"true\": true,
  36. \"false\": false,
  37. \"null\": null,
  38. \"array\":[ ],
  39. \"object\":{ },
  40. \"address\": \"50 St. James Street\",
  41. \"url\": \"http://www.JSON.org/\",
  42. \"comment\": \"// /* <!-- --\",
  43. \"# -- --> */\": \" \",
  44. \" s p a c e d \" :[1,2 , 3
  45. ,
  46. 4 , 5 , 6 ,7 ],
  47. \"compact\": [1,2,3,4,5,6,7],
  48. \"jsontext\": \"{\\\"object with 1 member\\\":[\\\"array with 1 element\\\"]}\",
  49. \"quotes\": \"&#34; \\u0022 %22 0x22 034 &#x22;\",
  50. \"\\/\\\\\\\"\\uCAFE\\uBABE\\uAB98\\uFCDE\\ubcda\\uef4A\\b\\f\\n\\r\\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?\"
  51. : \"A key can be any string\"
  52. },
  53. 0.5 ,98.6
  54. ,
  55. 99.44
  56. ,
  57. 1066
  58. ,\"rosebud\"]
  59. ";
  60. echo 'Testing:' . $test . "\n";
  61. echo "DECODE: AS OBJECT\n";
  62. $obj = json_decode($test);
  63. var_dump($obj);
  64. echo "DECODE: AS ARRAY\n";
  65. $arr = json_decode($test, true);
  66. var_dump($arr);
  67. echo "ENCODE: FROM OBJECT\n";
  68. $obj_enc = json_encode($obj, JSON_PARTIAL_OUTPUT_ON_ERROR);
  69. echo $obj_enc . "\n";
  70. echo "ENCODE: FROM ARRAY\n";
  71. $arr_enc = json_encode($arr, JSON_PARTIAL_OUTPUT_ON_ERROR);
  72. echo $arr_enc . "\n";
  73. echo "DECODE AGAIN: AS OBJECT\n";
  74. $obj = json_decode($obj_enc);
  75. var_dump($obj);
  76. echo "DECODE AGAIN: AS ARRAY\n";
  77. $arr = json_decode($arr_enc, true);
  78. var_dump($arr);
  79. ?>
  80. --EXPECT--
  81. Testing:
  82. [
  83. "JSON Test Pattern pass1",
  84. {"object with 1 member":["array with 1 element"]},
  85. {},
  86. [],
  87. -42,
  88. true,
  89. false,
  90. null,
  91. {
  92. "integer": 1234567890,
  93. "real": -9876.543210,
  94. "e": 0.123456789e-12,
  95. "E": 1.234567890E+34,
  96. "": 23456789012E666,
  97. "zero": 0,
  98. "one": 1,
  99. "space": " ",
  100. "quote": "\"",
  101. "backslash": "\\",
  102. "controls": "\b\f\n\r\t",
  103. "slash": "/ & \/",
  104. "alpha": "abcdefghijklmnopqrstuvwyz",
  105. "ALPHA": "ABCDEFGHIJKLMNOPQRSTUVWYZ",
  106. "digit": "0123456789",
  107. "special": "`1~!@#$%^&*()_+-={':[,]}|;.</>?",
  108. "hex": "\u0123\u4567\u89AB\uCDEF\uabcd\uef4A",
  109. "true": true,
  110. "false": false,
  111. "null": null,
  112. "array":[ ],
  113. "object":{ },
  114. "address": "50 St. James Street",
  115. "url": "http://www.JSON.org/",
  116. "comment": "// /* <!-- --",
  117. "# -- --> */": " ",
  118. " s p a c e d " :[1,2 , 3
  119. ,
  120. 4 , 5 , 6 ,7 ],
  121. "compact": [1,2,3,4,5,6,7],
  122. "jsontext": "{\"object with 1 member\":[\"array with 1 element\"]}",
  123. "quotes": "&#34; \u0022 %22 0x22 034 &#x22;",
  124. "\/\\\"\uCAFE\uBABE\uAB98\uFCDE\ubcda\uef4A\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',./<>?"
  125. : "A key can be any string"
  126. },
  127. 0.5 ,98.6
  128. ,
  129. 99.44
  130. ,
  131. 1066
  132. ,"rosebud"]
  133. DECODE: AS OBJECT
  134. array(14) {
  135. [0]=>
  136. string(23) "JSON Test Pattern pass1"
  137. [1]=>
  138. object(stdClass)#1 (1) {
  139. ["object with 1 member"]=>
  140. array(1) {
  141. [0]=>
  142. string(20) "array with 1 element"
  143. }
  144. }
  145. [2]=>
  146. object(stdClass)#2 (0) {
  147. }
  148. [3]=>
  149. array(0) {
  150. }
  151. [4]=>
  152. int(-42)
  153. [5]=>
  154. bool(true)
  155. [6]=>
  156. bool(false)
  157. [7]=>
  158. NULL
  159. [8]=>
  160. object(stdClass)#3 (31) {
  161. ["integer"]=>
  162. int(1234567890)
  163. ["real"]=>
  164. float(-9876.54321)
  165. ["e"]=>
  166. float(1.23456789E-13)
  167. ["E"]=>
  168. float(1.23456789E+34)
  169. [""]=>
  170. float(INF)
  171. ["zero"]=>
  172. int(0)
  173. ["one"]=>
  174. int(1)
  175. ["space"]=>
  176. string(1) " "
  177. ["quote"]=>
  178. string(1) """
  179. ["backslash"]=>
  180. string(1) "\"
  181. ["controls"]=>
  182. string(5) "
  183. "
  184. ["slash"]=>
  185. string(5) "/ & /"
  186. ["alpha"]=>
  187. string(25) "abcdefghijklmnopqrstuvwyz"
  188. ["ALPHA"]=>
  189. string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
  190. ["digit"]=>
  191. string(10) "0123456789"
  192. ["special"]=>
  193. string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
  194. ["hex"]=>
  195. string(17) "ģ䕧覫췯ꯍ"
  196. ["true"]=>
  197. bool(true)
  198. ["false"]=>
  199. bool(false)
  200. ["null"]=>
  201. NULL
  202. ["array"]=>
  203. array(0) {
  204. }
  205. ["object"]=>
  206. object(stdClass)#4 (0) {
  207. }
  208. ["address"]=>
  209. string(19) "50 St. James Street"
  210. ["url"]=>
  211. string(20) "http://www.JSON.org/"
  212. ["comment"]=>
  213. string(13) "// /* <!-- --"
  214. ["# -- --> */"]=>
  215. string(1) " "
  216. [" s p a c e d "]=>
  217. array(7) {
  218. [0]=>
  219. int(1)
  220. [1]=>
  221. int(2)
  222. [2]=>
  223. int(3)
  224. [3]=>
  225. int(4)
  226. [4]=>
  227. int(5)
  228. [5]=>
  229. int(6)
  230. [6]=>
  231. int(7)
  232. }
  233. ["compact"]=>
  234. array(7) {
  235. [0]=>
  236. int(1)
  237. [1]=>
  238. int(2)
  239. [2]=>
  240. int(3)
  241. [3]=>
  242. int(4)
  243. [4]=>
  244. int(5)
  245. [5]=>
  246. int(6)
  247. [6]=>
  248. int(7)
  249. }
  250. ["jsontext"]=>
  251. string(49) "{"object with 1 member":["array with 1 element"]}"
  252. ["quotes"]=>
  253. string(27) "&#34; " %22 0x22 034 &#x22;"
  254. ["/\"쫾몾ꮘﳞ볚
  255. `1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
  256. string(23) "A key can be any string"
  257. }
  258. [9]=>
  259. float(0.5)
  260. [10]=>
  261. float(98.6)
  262. [11]=>
  263. float(99.44)
  264. [12]=>
  265. int(1066)
  266. [13]=>
  267. string(7) "rosebud"
  268. }
  269. DECODE: AS ARRAY
  270. array(14) {
  271. [0]=>
  272. string(23) "JSON Test Pattern pass1"
  273. [1]=>
  274. array(1) {
  275. ["object with 1 member"]=>
  276. array(1) {
  277. [0]=>
  278. string(20) "array with 1 element"
  279. }
  280. }
  281. [2]=>
  282. array(0) {
  283. }
  284. [3]=>
  285. array(0) {
  286. }
  287. [4]=>
  288. int(-42)
  289. [5]=>
  290. bool(true)
  291. [6]=>
  292. bool(false)
  293. [7]=>
  294. NULL
  295. [8]=>
  296. array(31) {
  297. ["integer"]=>
  298. int(1234567890)
  299. ["real"]=>
  300. float(-9876.54321)
  301. ["e"]=>
  302. float(1.23456789E-13)
  303. ["E"]=>
  304. float(1.23456789E+34)
  305. [""]=>
  306. float(INF)
  307. ["zero"]=>
  308. int(0)
  309. ["one"]=>
  310. int(1)
  311. ["space"]=>
  312. string(1) " "
  313. ["quote"]=>
  314. string(1) """
  315. ["backslash"]=>
  316. string(1) "\"
  317. ["controls"]=>
  318. string(5) "
  319. "
  320. ["slash"]=>
  321. string(5) "/ & /"
  322. ["alpha"]=>
  323. string(25) "abcdefghijklmnopqrstuvwyz"
  324. ["ALPHA"]=>
  325. string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
  326. ["digit"]=>
  327. string(10) "0123456789"
  328. ["special"]=>
  329. string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
  330. ["hex"]=>
  331. string(17) "ģ䕧覫췯ꯍ"
  332. ["true"]=>
  333. bool(true)
  334. ["false"]=>
  335. bool(false)
  336. ["null"]=>
  337. NULL
  338. ["array"]=>
  339. array(0) {
  340. }
  341. ["object"]=>
  342. array(0) {
  343. }
  344. ["address"]=>
  345. string(19) "50 St. James Street"
  346. ["url"]=>
  347. string(20) "http://www.JSON.org/"
  348. ["comment"]=>
  349. string(13) "// /* <!-- --"
  350. ["# -- --> */"]=>
  351. string(1) " "
  352. [" s p a c e d "]=>
  353. array(7) {
  354. [0]=>
  355. int(1)
  356. [1]=>
  357. int(2)
  358. [2]=>
  359. int(3)
  360. [3]=>
  361. int(4)
  362. [4]=>
  363. int(5)
  364. [5]=>
  365. int(6)
  366. [6]=>
  367. int(7)
  368. }
  369. ["compact"]=>
  370. array(7) {
  371. [0]=>
  372. int(1)
  373. [1]=>
  374. int(2)
  375. [2]=>
  376. int(3)
  377. [3]=>
  378. int(4)
  379. [4]=>
  380. int(5)
  381. [5]=>
  382. int(6)
  383. [6]=>
  384. int(7)
  385. }
  386. ["jsontext"]=>
  387. string(49) "{"object with 1 member":["array with 1 element"]}"
  388. ["quotes"]=>
  389. string(27) "&#34; " %22 0x22 034 &#x22;"
  390. ["/\"쫾몾ꮘﳞ볚
  391. `1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
  392. string(23) "A key can be any string"
  393. }
  394. [9]=>
  395. float(0.5)
  396. [10]=>
  397. float(98.6)
  398. [11]=>
  399. float(99.44)
  400. [12]=>
  401. int(1066)
  402. [13]=>
  403. string(7) "rosebud"
  404. }
  405. ENCODE: FROM OBJECT
  406. ["JSON Test Pattern pass1",{"object with 1 member":["array with 1 element"]},{},[],-42,true,false,null,{"integer":1234567890,"real":-9876.54321,"e":1.23456789e-13,"E":1.23456789e+34,"":0,"zero":0,"one":1,"space":" ","quote":"\"","backslash":"\\","controls":"\b\f\n\r\t","slash":"\/ & \/","alpha":"abcdefghijklmnopqrstuvwyz","ALPHA":"ABCDEFGHIJKLMNOPQRSTUVWYZ","digit":"0123456789","special":"`1~!@#$%^&*()_+-={':[,]}|;.<\/>?","hex":"\u0123\u4567\u89ab\ucdef\uabcd\uef4a","true":true,"false":false,"null":null,"array":[],"object":{},"address":"50 St. James Street","url":"http:\/\/www.JSON.org\/","comment":"\/\/ \/* <!-- --","# -- --> *\/":" "," s p a c e d ":[1,2,3,4,5,6,7],"compact":[1,2,3,4,5,6,7],"jsontext":"{\"object with 1 member\":[\"array with 1 element\"]}","quotes":"&#34; \" %22 0x22 034 &#x22;","\/\\\"\ucafe\ubabe\uab98\ufcde\ubcda\uef4a\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',.\/<>?":"A key can be any string"},0.5,98.6,99.44,1066,"rosebud"]
  407. ENCODE: FROM ARRAY
  408. ["JSON Test Pattern pass1",{"object with 1 member":["array with 1 element"]},[],[],-42,true,false,null,{"integer":1234567890,"real":-9876.54321,"e":1.23456789e-13,"E":1.23456789e+34,"":0,"zero":0,"one":1,"space":" ","quote":"\"","backslash":"\\","controls":"\b\f\n\r\t","slash":"\/ & \/","alpha":"abcdefghijklmnopqrstuvwyz","ALPHA":"ABCDEFGHIJKLMNOPQRSTUVWYZ","digit":"0123456789","special":"`1~!@#$%^&*()_+-={':[,]}|;.<\/>?","hex":"\u0123\u4567\u89ab\ucdef\uabcd\uef4a","true":true,"false":false,"null":null,"array":[],"object":[],"address":"50 St. James Street","url":"http:\/\/www.JSON.org\/","comment":"\/\/ \/* <!-- --","# -- --> *\/":" "," s p a c e d ":[1,2,3,4,5,6,7],"compact":[1,2,3,4,5,6,7],"jsontext":"{\"object with 1 member\":[\"array with 1 element\"]}","quotes":"&#34; \" %22 0x22 034 &#x22;","\/\\\"\ucafe\ubabe\uab98\ufcde\ubcda\uef4a\b\f\n\r\t`1~!@#$%^&*()_+-=[]{}|;:',.\/<>?":"A key can be any string"},0.5,98.6,99.44,1066,"rosebud"]
  409. DECODE AGAIN: AS OBJECT
  410. array(14) {
  411. [0]=>
  412. string(23) "JSON Test Pattern pass1"
  413. [1]=>
  414. object(stdClass)#5 (1) {
  415. ["object with 1 member"]=>
  416. array(1) {
  417. [0]=>
  418. string(20) "array with 1 element"
  419. }
  420. }
  421. [2]=>
  422. object(stdClass)#6 (0) {
  423. }
  424. [3]=>
  425. array(0) {
  426. }
  427. [4]=>
  428. int(-42)
  429. [5]=>
  430. bool(true)
  431. [6]=>
  432. bool(false)
  433. [7]=>
  434. NULL
  435. [8]=>
  436. object(stdClass)#7 (31) {
  437. ["integer"]=>
  438. int(1234567890)
  439. ["real"]=>
  440. float(-9876.54321)
  441. ["e"]=>
  442. float(1.23456789E-13)
  443. ["E"]=>
  444. float(1.23456789E+34)
  445. [""]=>
  446. int(0)
  447. ["zero"]=>
  448. int(0)
  449. ["one"]=>
  450. int(1)
  451. ["space"]=>
  452. string(1) " "
  453. ["quote"]=>
  454. string(1) """
  455. ["backslash"]=>
  456. string(1) "\"
  457. ["controls"]=>
  458. string(5) "
  459. "
  460. ["slash"]=>
  461. string(5) "/ & /"
  462. ["alpha"]=>
  463. string(25) "abcdefghijklmnopqrstuvwyz"
  464. ["ALPHA"]=>
  465. string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
  466. ["digit"]=>
  467. string(10) "0123456789"
  468. ["special"]=>
  469. string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
  470. ["hex"]=>
  471. string(17) "ģ䕧覫췯ꯍ"
  472. ["true"]=>
  473. bool(true)
  474. ["false"]=>
  475. bool(false)
  476. ["null"]=>
  477. NULL
  478. ["array"]=>
  479. array(0) {
  480. }
  481. ["object"]=>
  482. object(stdClass)#8 (0) {
  483. }
  484. ["address"]=>
  485. string(19) "50 St. James Street"
  486. ["url"]=>
  487. string(20) "http://www.JSON.org/"
  488. ["comment"]=>
  489. string(13) "// /* <!-- --"
  490. ["# -- --> */"]=>
  491. string(1) " "
  492. [" s p a c e d "]=>
  493. array(7) {
  494. [0]=>
  495. int(1)
  496. [1]=>
  497. int(2)
  498. [2]=>
  499. int(3)
  500. [3]=>
  501. int(4)
  502. [4]=>
  503. int(5)
  504. [5]=>
  505. int(6)
  506. [6]=>
  507. int(7)
  508. }
  509. ["compact"]=>
  510. array(7) {
  511. [0]=>
  512. int(1)
  513. [1]=>
  514. int(2)
  515. [2]=>
  516. int(3)
  517. [3]=>
  518. int(4)
  519. [4]=>
  520. int(5)
  521. [5]=>
  522. int(6)
  523. [6]=>
  524. int(7)
  525. }
  526. ["jsontext"]=>
  527. string(49) "{"object with 1 member":["array with 1 element"]}"
  528. ["quotes"]=>
  529. string(27) "&#34; " %22 0x22 034 &#x22;"
  530. ["/\"쫾몾ꮘﳞ볚
  531. `1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
  532. string(23) "A key can be any string"
  533. }
  534. [9]=>
  535. float(0.5)
  536. [10]=>
  537. float(98.6)
  538. [11]=>
  539. float(99.44)
  540. [12]=>
  541. int(1066)
  542. [13]=>
  543. string(7) "rosebud"
  544. }
  545. DECODE AGAIN: AS ARRAY
  546. array(14) {
  547. [0]=>
  548. string(23) "JSON Test Pattern pass1"
  549. [1]=>
  550. array(1) {
  551. ["object with 1 member"]=>
  552. array(1) {
  553. [0]=>
  554. string(20) "array with 1 element"
  555. }
  556. }
  557. [2]=>
  558. array(0) {
  559. }
  560. [3]=>
  561. array(0) {
  562. }
  563. [4]=>
  564. int(-42)
  565. [5]=>
  566. bool(true)
  567. [6]=>
  568. bool(false)
  569. [7]=>
  570. NULL
  571. [8]=>
  572. array(31) {
  573. ["integer"]=>
  574. int(1234567890)
  575. ["real"]=>
  576. float(-9876.54321)
  577. ["e"]=>
  578. float(1.23456789E-13)
  579. ["E"]=>
  580. float(1.23456789E+34)
  581. [""]=>
  582. int(0)
  583. ["zero"]=>
  584. int(0)
  585. ["one"]=>
  586. int(1)
  587. ["space"]=>
  588. string(1) " "
  589. ["quote"]=>
  590. string(1) """
  591. ["backslash"]=>
  592. string(1) "\"
  593. ["controls"]=>
  594. string(5) "
  595. "
  596. ["slash"]=>
  597. string(5) "/ & /"
  598. ["alpha"]=>
  599. string(25) "abcdefghijklmnopqrstuvwyz"
  600. ["ALPHA"]=>
  601. string(25) "ABCDEFGHIJKLMNOPQRSTUVWYZ"
  602. ["digit"]=>
  603. string(10) "0123456789"
  604. ["special"]=>
  605. string(31) "`1~!@#$%^&*()_+-={':[,]}|;.</>?"
  606. ["hex"]=>
  607. string(17) "ģ䕧覫췯ꯍ"
  608. ["true"]=>
  609. bool(true)
  610. ["false"]=>
  611. bool(false)
  612. ["null"]=>
  613. NULL
  614. ["array"]=>
  615. array(0) {
  616. }
  617. ["object"]=>
  618. array(0) {
  619. }
  620. ["address"]=>
  621. string(19) "50 St. James Street"
  622. ["url"]=>
  623. string(20) "http://www.JSON.org/"
  624. ["comment"]=>
  625. string(13) "// /* <!-- --"
  626. ["# -- --> */"]=>
  627. string(1) " "
  628. [" s p a c e d "]=>
  629. array(7) {
  630. [0]=>
  631. int(1)
  632. [1]=>
  633. int(2)
  634. [2]=>
  635. int(3)
  636. [3]=>
  637. int(4)
  638. [4]=>
  639. int(5)
  640. [5]=>
  641. int(6)
  642. [6]=>
  643. int(7)
  644. }
  645. ["compact"]=>
  646. array(7) {
  647. [0]=>
  648. int(1)
  649. [1]=>
  650. int(2)
  651. [2]=>
  652. int(3)
  653. [3]=>
  654. int(4)
  655. [4]=>
  656. int(5)
  657. [5]=>
  658. int(6)
  659. [6]=>
  660. int(7)
  661. }
  662. ["jsontext"]=>
  663. string(49) "{"object with 1 member":["array with 1 element"]}"
  664. ["quotes"]=>
  665. string(27) "&#34; " %22 0x22 034 &#x22;"
  666. ["/\"쫾몾ꮘﳞ볚
  667. `1~!@#$%^&*()_+-=[]{}|;:',./<>?"]=>
  668. string(23) "A key can be any string"
  669. }
  670. [9]=>
  671. float(0.5)
  672. [10]=>
  673. float(98.6)
  674. [11]=>
  675. float(99.44)
  676. [12]=>
  677. int(1066)
  678. [13]=>
  679. string(7) "rosebud"
  680. }