Annotation of embedaddon/php/ext/standard/tests/strings/parse_str_basic3.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test parse_str() function : basic functionality
! 3: --INI--
! 4: magic_quotes_gpc = on
! 5: --FILE--
! 6: <?php
! 7: /* Prototype : void parse_str ( string $str [, array &$arr ] )
! 8: * Description: Parses the string into variables
! 9: * Source code: ext/standard/string.c
! 10: */
! 11:
! 12: echo "*** Testing parse_str() : basic functionality ***\n";
! 13:
! 14: echo "\nTest string with array values\n";
! 15: $s1 = "first=abc&a[]=123&a[]=false&b[]=str&c[]=3.5&a[]=last";
! 16: var_dump(parse_str($s1));
! 17: var_dump($first, $a, $b, $c);
! 18:
! 19: echo "\nTest string with array values and results array\n";
! 20: $s1 = "first=abc&a[]=123&a[]=false&b[]=str&c[]=3.5&a[]=last";
! 21: var_dump(parse_str($s1, $res3_array));
! 22: var_dump($res3_array);
! 23:
! 24: echo "\nTest string containing numerical array keys\n";
! 25: $str = "arr[1]=sid&arr[4]=bill";
! 26: var_dump(parse_str($str, $res));
! 27: var_dump($res);
! 28:
! 29: echo "\nTest string containing associative keys\n";
! 30: $str = "arr[first]=sid&arr[forth]=bill";
! 31: var_dump(parse_str($str, $res));
! 32: var_dump($res);
! 33:
! 34: echo "\nTest string with array values with same name as existing variable\n";
! 35: $a = 9999;
! 36: $s1 = "a[]=123&a[]=false&a[]=last";
! 37: var_dump(parse_str($s1));
! 38: var_dump($a);
! 39:
! 40: echo "\nTest string with non-array value with same name as existing array variable\n";
! 41: $a = array(10,11,12,13);
! 42: $s1 = "a=999";
! 43: parse_str($s1);
! 44: var_dump($a);
! 45:
! 46: echo "\nTest string with encoded data\n";
! 47: $s1 = "a=%3c%3d%3d%20%20foo+bar++%3d%3d%3e&b=%23%23%23Hello+World%23%23%23";
! 48: parse_str($s1);
! 49: var_dump($a, $b);
! 50:
! 51: echo "\nTest string with single quotes characters\n";
! 52: $s1 = "firstname=Bill&surname=O%27Reilly";
! 53: var_dump(parse_str($s1));
! 54: var_dump($firstname, $surname);
! 55:
! 56: echo "\nTest string with backslash characters\n";
! 57: $s1 = "sum=10%5c2%3d5";
! 58: var_dump(parse_str($s1));
! 59: var_dump($sum);
! 60:
! 61: echo "\nTest string with double quotes data\n";
! 62: $s1 = "str=A+string+with+%22quoted%22+strings";
! 63: var_dump(parse_str($s1));
! 64: var_dump($str);
! 65:
! 66: echo "\nTest string with nulls\n";
! 67: $s1 = "str=A%20string%20with%20containing%20%00%00%00%20nulls";
! 68: var_dump(parse_str($s1));
! 69: var_dump($str);
! 70:
! 71: echo "\nTest string with 2-dim array with numeric keys\n";
! 72: $str = "arr[3][4]=sid&arr[3][6]=fred";
! 73: var_dump(parse_str($str, $res));
! 74: var_dump($res);
! 75:
! 76: echo "\nTest string with 2-dim array with null keys\n";
! 77: $str = "arr[][]=sid&arr[][]=fred";
! 78: var_dump(parse_str($str, $res));
! 79: var_dump($res);
! 80:
! 81: echo "\nTest string with 2-dim array with non-numeric keys\n";
! 82: $str = "arr[one][four]=sid&arr[three][six]=fred";
! 83: var_dump(parse_str($str, $res));
! 84: var_dump($res);
! 85:
! 86: echo "\nTest string with 3-dim array with numeric keys\n";
! 87: $str = "arr[1][2][3]=sid&arr[1][2][6]=fred";
! 88: var_dump(parse_str($str, $res));
! 89: var_dump($res);
! 90:
! 91: ?>
! 92: ===DONE===
! 93: --EXPECTF--
! 94: Deprecated: Directive 'magic_quotes_gpc' is deprecated in PHP 5.3 and greater in Unknown on line 0
! 95: *** Testing parse_str() : basic functionality ***
! 96:
! 97: Test string with array values
! 98: NULL
! 99: string(3) "abc"
! 100: array(3) {
! 101: [0]=>
! 102: string(3) "123"
! 103: [1]=>
! 104: string(5) "false"
! 105: [2]=>
! 106: string(4) "last"
! 107: }
! 108: array(1) {
! 109: [0]=>
! 110: string(3) "str"
! 111: }
! 112: array(1) {
! 113: [0]=>
! 114: string(3) "3.5"
! 115: }
! 116:
! 117: Test string with array values and results array
! 118: NULL
! 119: array(4) {
! 120: ["first"]=>
! 121: string(3) "abc"
! 122: ["a"]=>
! 123: array(3) {
! 124: [0]=>
! 125: string(3) "123"
! 126: [1]=>
! 127: string(5) "false"
! 128: [2]=>
! 129: string(4) "last"
! 130: }
! 131: ["b"]=>
! 132: array(1) {
! 133: [0]=>
! 134: string(3) "str"
! 135: }
! 136: ["c"]=>
! 137: array(1) {
! 138: [0]=>
! 139: string(3) "3.5"
! 140: }
! 141: }
! 142:
! 143: Test string containing numerical array keys
! 144: NULL
! 145: array(1) {
! 146: ["arr"]=>
! 147: array(2) {
! 148: [1]=>
! 149: string(3) "sid"
! 150: [4]=>
! 151: string(4) "bill"
! 152: }
! 153: }
! 154:
! 155: Test string containing associative keys
! 156: NULL
! 157: array(1) {
! 158: ["arr"]=>
! 159: array(2) {
! 160: ["first"]=>
! 161: string(3) "sid"
! 162: ["forth"]=>
! 163: string(4) "bill"
! 164: }
! 165: }
! 166:
! 167: Test string with array values with same name as existing variable
! 168: NULL
! 169: array(3) {
! 170: [0]=>
! 171: string(3) "123"
! 172: [1]=>
! 173: string(5) "false"
! 174: [2]=>
! 175: string(4) "last"
! 176: }
! 177:
! 178: Test string with non-array value with same name as existing array variable
! 179: string(3) "999"
! 180:
! 181: Test string with encoded data
! 182: string(17) "<== foo bar ==>"
! 183: string(17) "###Hello World###"
! 184:
! 185: Test string with single quotes characters
! 186: NULL
! 187: string(4) "Bill"
! 188: string(9) "O\'Reilly"
! 189:
! 190: Test string with backslash characters
! 191: NULL
! 192: string(7) "10\\2=5"
! 193:
! 194: Test string with double quotes data
! 195: NULL
! 196: string(32) "A string with \"quoted\" strings"
! 197:
! 198: Test string with nulls
! 199: NULL
! 200: string(37) "A string with containing \0\0\0 nulls"
! 201:
! 202: Test string with 2-dim array with numeric keys
! 203: NULL
! 204: array(1) {
! 205: ["arr"]=>
! 206: array(1) {
! 207: [3]=>
! 208: array(2) {
! 209: [4]=>
! 210: string(3) "sid"
! 211: [6]=>
! 212: string(4) "fred"
! 213: }
! 214: }
! 215: }
! 216:
! 217: Test string with 2-dim array with null keys
! 218: NULL
! 219: array(1) {
! 220: ["arr"]=>
! 221: array(2) {
! 222: [0]=>
! 223: array(1) {
! 224: [0]=>
! 225: string(3) "sid"
! 226: }
! 227: [1]=>
! 228: array(1) {
! 229: [0]=>
! 230: string(4) "fred"
! 231: }
! 232: }
! 233: }
! 234:
! 235: Test string with 2-dim array with non-numeric keys
! 236: NULL
! 237: array(1) {
! 238: ["arr"]=>
! 239: array(2) {
! 240: ["one"]=>
! 241: array(1) {
! 242: ["four"]=>
! 243: string(3) "sid"
! 244: }
! 245: ["three"]=>
! 246: array(1) {
! 247: ["six"]=>
! 248: string(4) "fred"
! 249: }
! 250: }
! 251: }
! 252:
! 253: Test string with 3-dim array with numeric keys
! 254: NULL
! 255: array(1) {
! 256: ["arr"]=>
! 257: array(1) {
! 258: [1]=>
! 259: array(1) {
! 260: [2]=>
! 261: array(2) {
! 262: [3]=>
! 263: string(3) "sid"
! 264: [6]=>
! 265: string(4) "fred"
! 266: }
! 267: }
! 268: }
! 269: }
! 270: ===DONE===
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>