parse_str_basic4.phpt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. --TEST--
  2. Test parse_str() function : test with badly formed strings
  3. --FILE--
  4. <?php
  5. /* Prototype : void parse_str ( string $str [, array &$arr ] )
  6. * Description: Parses the string into variables
  7. * Source code: ext/standard/string.c
  8. */
  9. echo "\nTest string with badly formed strings\n";
  10. $str = "arr[1=sid&arr[4][2=fred";
  11. var_dump(parse_str($str, $res));
  12. var_dump($res);
  13. $str = "arr1]=sid&arr[4]2]=fred";
  14. var_dump(parse_str($str, $res));
  15. var_dump($res);
  16. $str = "arr[one=sid&arr[4][two=fred";
  17. var_dump(parse_str($str, $res));
  18. var_dump($res);
  19. echo "\nTest string with badly formed % numbers\n";
  20. $str = "first=%41&second=%a&third=%b";
  21. var_dump(parse_str($str));
  22. var_dump($first, $second, $third);
  23. echo "\nTest string with non-binary safe name\n";
  24. $str = "arr.test[1]=sid&arr test[4][two]=fred";
  25. var_dump(parse_str($str, $res));
  26. var_dump($res);
  27. ?>
  28. ===DONE===
  29. --EXPECTF--
  30. Test string with badly formed strings
  31. NULL
  32. array(2) {
  33. ["arr_1"]=>
  34. string(3) "sid"
  35. ["arr"]=>
  36. array(1) {
  37. [4]=>
  38. string(4) "fred"
  39. }
  40. }
  41. NULL
  42. array(2) {
  43. ["arr1]"]=>
  44. string(3) "sid"
  45. ["arr"]=>
  46. array(1) {
  47. [4]=>
  48. string(4) "fred"
  49. }
  50. }
  51. NULL
  52. array(2) {
  53. ["arr_one"]=>
  54. string(3) "sid"
  55. ["arr"]=>
  56. array(1) {
  57. [4]=>
  58. string(4) "fred"
  59. }
  60. }
  61. Test string with badly formed % numbers
  62. NULL
  63. string(1) "A"
  64. string(2) "%a"
  65. string(2) "%b"
  66. Test string with non-binary safe name
  67. NULL
  68. array(1) {
  69. ["arr_test"]=>
  70. array(2) {
  71. [1]=>
  72. string(3) "sid"
  73. [4]=>
  74. array(1) {
  75. ["two"]=>
  76. string(4) "fred"
  77. }
  78. }
  79. }
  80. ===DONE===