Annotation of embedaddon/php/ext/standard/tests/array/array_reverse_variation4.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Test array_reverse() function : usage variations - assoc. array with diff. keys for 'array' argument
! 3: --FILE--
! 4: <?php
! 5: /* Prototype : array array_reverse(array $array [, bool $preserve_keys])
! 6: * Description: Return input as a new array with the order of the entries reversed
! 7: * Source code: ext/standard/array.c
! 8: */
! 9:
! 10: /*
! 11: * Testing the functionality of array_reverse() by giving associative arrays with different
! 12: * keys for $array argument
! 13: */
! 14:
! 15: echo "*** Testing array_reverse() : usage variations ***\n";
! 16:
! 17: //get an unset variable
! 18: $unset_var = 10;
! 19: unset ($unset_var);
! 20:
! 21: //get a resource variable
! 22: $fp = fopen(__FILE__, "r");
! 23:
! 24: //get a class
! 25: class classA{
! 26: public function __toString(){
! 27: return "Class A object";
! 28: }
! 29: }
! 30:
! 31: // get a heredoc string
! 32: $heredoc = <<<EOT
! 33: Hello world
! 34: EOT;
! 35:
! 36: // initializing the array
! 37: $arrays = array (
! 38:
! 39: // empty array
! 40: /*1*/ array(),
! 41:
! 42: // arrays with integer keys
! 43: array(0 => "0"),
! 44: array(1 => "1"),
! 45: array(1 => "1", 2 => "2", 3 => "3", 4 => "4"),
! 46:
! 47: // arrays with float keys
! 48: /*5*/ array(2.3333 => "float"),
! 49: array(1.2 => "f1", 3.33 => "f2", 4.89999922839999 => "f3", 33333333.333333 => "f4"),
! 50:
! 51: // arrays with string keys
! 52: array("\tHello" => 111, "re\td" => "color", "\v\fworld" => 2.2, "pen\n" => 33),
! 53: /*8*/ array("\tHello" => 111, "re\td" => "color", "\v\fworld" => 2.2, "pen\n" => 33),
! 54: array("hello", $heredoc => "string"), // heredoc
! 55:
! 56: // array with object, unset variable and resource variable
! 57: array(new classA() => 11, @$unset_var => "hello", $fp => 'resource'),
! 58:
! 59: // array with mixed values
! 60: /*11*/ array('hello' => 1, new classA() => 2, "fruit" => 2.2, $fp => 'resource', 133 => "int", 444.432 => "float", @$unset_var => "unset", $heredoc => "heredoc")
! 61: );
! 62:
! 63: // loop through the various elements of $arrays to test array_reverse()
! 64: $iterator = 1;
! 65: foreach($arrays as $array) {
! 66: echo "-- Iteration $iterator --\n";
! 67: // with default argument
! 68: echo "- default argument -\n";
! 69: var_dump( array_reverse($array) );
! 70: // with $preserve_keys argument
! 71: echo "- \$preserve keys = true -\n";
! 72: var_dump( array_reverse($array, true) );
! 73: echo "- \$preserve_keys = false -\n";
! 74: var_dump( array_reverse($array, false) );
! 75: $iterator++;
! 76: };
! 77:
! 78: // close the file resource used
! 79: fclose($fp);
! 80:
! 81: echo "Done";
! 82: ?>
! 83: --EXPECTF--
! 84: *** Testing array_reverse() : usage variations ***
! 85:
! 86: Warning: Illegal offset type in %s on line %d
! 87:
! 88: Warning: Illegal offset type in %s on line %d
! 89:
! 90: Warning: Illegal offset type in %s on line %d
! 91:
! 92: Warning: Illegal offset type in %s on line %d
! 93: -- Iteration 1 --
! 94: - default argument -
! 95: array(0) {
! 96: }
! 97: - $preserve keys = true -
! 98: array(0) {
! 99: }
! 100: - $preserve_keys = false -
! 101: array(0) {
! 102: }
! 103: -- Iteration 2 --
! 104: - default argument -
! 105: array(1) {
! 106: [0]=>
! 107: string(1) "0"
! 108: }
! 109: - $preserve keys = true -
! 110: array(1) {
! 111: [0]=>
! 112: string(1) "0"
! 113: }
! 114: - $preserve_keys = false -
! 115: array(1) {
! 116: [0]=>
! 117: string(1) "0"
! 118: }
! 119: -- Iteration 3 --
! 120: - default argument -
! 121: array(1) {
! 122: [0]=>
! 123: string(1) "1"
! 124: }
! 125: - $preserve keys = true -
! 126: array(1) {
! 127: [1]=>
! 128: string(1) "1"
! 129: }
! 130: - $preserve_keys = false -
! 131: array(1) {
! 132: [0]=>
! 133: string(1) "1"
! 134: }
! 135: -- Iteration 4 --
! 136: - default argument -
! 137: array(4) {
! 138: [0]=>
! 139: string(1) "4"
! 140: [1]=>
! 141: string(1) "3"
! 142: [2]=>
! 143: string(1) "2"
! 144: [3]=>
! 145: string(1) "1"
! 146: }
! 147: - $preserve keys = true -
! 148: array(4) {
! 149: [4]=>
! 150: string(1) "4"
! 151: [3]=>
! 152: string(1) "3"
! 153: [2]=>
! 154: string(1) "2"
! 155: [1]=>
! 156: string(1) "1"
! 157: }
! 158: - $preserve_keys = false -
! 159: array(4) {
! 160: [0]=>
! 161: string(1) "4"
! 162: [1]=>
! 163: string(1) "3"
! 164: [2]=>
! 165: string(1) "2"
! 166: [3]=>
! 167: string(1) "1"
! 168: }
! 169: -- Iteration 5 --
! 170: - default argument -
! 171: array(1) {
! 172: [0]=>
! 173: string(5) "float"
! 174: }
! 175: - $preserve keys = true -
! 176: array(1) {
! 177: [2]=>
! 178: string(5) "float"
! 179: }
! 180: - $preserve_keys = false -
! 181: array(1) {
! 182: [0]=>
! 183: string(5) "float"
! 184: }
! 185: -- Iteration 6 --
! 186: - default argument -
! 187: array(4) {
! 188: [0]=>
! 189: string(2) "f4"
! 190: [1]=>
! 191: string(2) "f3"
! 192: [2]=>
! 193: string(2) "f2"
! 194: [3]=>
! 195: string(2) "f1"
! 196: }
! 197: - $preserve keys = true -
! 198: array(4) {
! 199: [33333333]=>
! 200: string(2) "f4"
! 201: [4]=>
! 202: string(2) "f3"
! 203: [3]=>
! 204: string(2) "f2"
! 205: [1]=>
! 206: string(2) "f1"
! 207: }
! 208: - $preserve_keys = false -
! 209: array(4) {
! 210: [0]=>
! 211: string(2) "f4"
! 212: [1]=>
! 213: string(2) "f3"
! 214: [2]=>
! 215: string(2) "f2"
! 216: [3]=>
! 217: string(2) "f1"
! 218: }
! 219: -- Iteration 7 --
! 220: - default argument -
! 221: array(4) {
! 222: ["pen
! 223: "]=>
! 224: int(33)
! 225: ["world"]=>
! 226: float(2.2)
! 227: ["re d"]=>
! 228: string(5) "color"
! 229: [" Hello"]=>
! 230: int(111)
! 231: }
! 232: - $preserve keys = true -
! 233: array(4) {
! 234: ["pen
! 235: "]=>
! 236: int(33)
! 237: ["world"]=>
! 238: float(2.2)
! 239: ["re d"]=>
! 240: string(5) "color"
! 241: [" Hello"]=>
! 242: int(111)
! 243: }
! 244: - $preserve_keys = false -
! 245: array(4) {
! 246: ["pen
! 247: "]=>
! 248: int(33)
! 249: ["world"]=>
! 250: float(2.2)
! 251: ["re d"]=>
! 252: string(5) "color"
! 253: [" Hello"]=>
! 254: int(111)
! 255: }
! 256: -- Iteration 8 --
! 257: - default argument -
! 258: array(4) {
! 259: ["pen
! 260: "]=>
! 261: int(33)
! 262: ["world"]=>
! 263: float(2.2)
! 264: ["re d"]=>
! 265: string(5) "color"
! 266: [" Hello"]=>
! 267: int(111)
! 268: }
! 269: - $preserve keys = true -
! 270: array(4) {
! 271: ["pen
! 272: "]=>
! 273: int(33)
! 274: ["world"]=>
! 275: float(2.2)
! 276: ["re d"]=>
! 277: string(5) "color"
! 278: [" Hello"]=>
! 279: int(111)
! 280: }
! 281: - $preserve_keys = false -
! 282: array(4) {
! 283: ["pen
! 284: "]=>
! 285: int(33)
! 286: ["world"]=>
! 287: float(2.2)
! 288: ["re d"]=>
! 289: string(5) "color"
! 290: [" Hello"]=>
! 291: int(111)
! 292: }
! 293: -- Iteration 9 --
! 294: - default argument -
! 295: array(2) {
! 296: ["Hello world"]=>
! 297: string(6) "string"
! 298: [0]=>
! 299: string(5) "hello"
! 300: }
! 301: - $preserve keys = true -
! 302: array(2) {
! 303: ["Hello world"]=>
! 304: string(6) "string"
! 305: [0]=>
! 306: string(5) "hello"
! 307: }
! 308: - $preserve_keys = false -
! 309: array(2) {
! 310: ["Hello world"]=>
! 311: string(6) "string"
! 312: [0]=>
! 313: string(5) "hello"
! 314: }
! 315: -- Iteration 10 --
! 316: - default argument -
! 317: array(1) {
! 318: [""]=>
! 319: string(5) "hello"
! 320: }
! 321: - $preserve keys = true -
! 322: array(1) {
! 323: [""]=>
! 324: string(5) "hello"
! 325: }
! 326: - $preserve_keys = false -
! 327: array(1) {
! 328: [""]=>
! 329: string(5) "hello"
! 330: }
! 331: -- Iteration 11 --
! 332: - default argument -
! 333: array(6) {
! 334: ["Hello world"]=>
! 335: string(7) "heredoc"
! 336: [""]=>
! 337: string(5) "unset"
! 338: [0]=>
! 339: string(5) "float"
! 340: [1]=>
! 341: string(3) "int"
! 342: ["fruit"]=>
! 343: float(2.2)
! 344: ["hello"]=>
! 345: int(1)
! 346: }
! 347: - $preserve keys = true -
! 348: array(6) {
! 349: ["Hello world"]=>
! 350: string(7) "heredoc"
! 351: [""]=>
! 352: string(5) "unset"
! 353: [444]=>
! 354: string(5) "float"
! 355: [133]=>
! 356: string(3) "int"
! 357: ["fruit"]=>
! 358: float(2.2)
! 359: ["hello"]=>
! 360: int(1)
! 361: }
! 362: - $preserve_keys = false -
! 363: array(6) {
! 364: ["Hello world"]=>
! 365: string(7) "heredoc"
! 366: [""]=>
! 367: string(5) "unset"
! 368: [0]=>
! 369: string(5) "float"
! 370: [1]=>
! 371: string(3) "int"
! 372: ["fruit"]=>
! 373: float(2.2)
! 374: ["hello"]=>
! 375: int(1)
! 376: }
! 377: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>