Annotation of embedaddon/php/ext/spl/tests/array_004.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: SPL: ArrayIterator
! 3: --INI--
! 4: allow_call_time_pass_reference=1
! 5: --FILE--
! 6: <?php
! 7:
! 8: echo "==Normal==\n";
! 9:
! 10: $arr = array(0=>0, 1=>1, 2=>2);
! 11: $obj = new ArrayObject($arr);
! 12:
! 13: foreach($obj as $ak=>$av) {
! 14: foreach($obj as $bk=>$bv) {
! 15: if ($ak==0 && $bk==0) {
! 16: $arr[0] = "modify";
! 17: }
! 18: echo "$ak=>$av - $bk=>$bv\n";
! 19: }
! 20: }
! 21:
! 22: echo "==UseRef==\n";
! 23:
! 24: $arr = array(0=>0, 1=>1, 2=>2);
! 25: $obj = new ArrayObject(&$arr);
! 26:
! 27: foreach($obj as $ak=>$av) {
! 28: foreach($obj as $bk=>$bv) {
! 29: if ($ak==0 && $bk==0) {
! 30: $arr[0] = "modify";
! 31: }
! 32: echo "$ak=>$av - $bk=>$bv\n";
! 33: }
! 34: }
! 35:
! 36: echo "==Modify==\n";
! 37:
! 38: $arr = array(0=>0, 1=>1, 2=>2);
! 39: $obj = new ArrayObject(&$arr);
! 40:
! 41: foreach($obj as $ak=>$av) {
! 42: foreach($obj as $bk=>$bv) {
! 43: if ($ak==0 && $bk==0) {
! 44: $arr[0] = "modify";
! 45: }
! 46: echo "$ak=>$av - $bk=>$bv\n";
! 47: }
! 48: }
! 49:
! 50: echo "==Delete==\n";
! 51:
! 52: $arr = array(0=>0, 1=>1, 2=>2);
! 53: $obj = new ArrayObject(&$arr);
! 54:
! 55: foreach($obj as $ak=>$av) {
! 56: foreach($obj as $bk=>$bv) {
! 57: if ($ak==1 && $bk==1) {
! 58: unset($arr[1]);
! 59: }
! 60: echo "$ak=>$av - $bk=>$bv\n";
! 61: }
! 62: }
! 63:
! 64: echo "==Change==\n";
! 65:
! 66: $arr = array(0=>0, 1=>1, 2=>2);
! 67: $obj = new ArrayObject(&$arr);
! 68:
! 69: foreach($obj as $ak=>$av) {
! 70: foreach($obj as $bk=>$bv) {
! 71: if ($ak==1 && $bk==1) {
! 72: $arr = NULL;
! 73: }
! 74: echo "$ak=>$av - $bk=>$bv\n";
! 75: }
! 76: }
! 77:
! 78: echo "Done\n";
! 79: ?>
! 80: --EXPECTF--
! 81: ==Normal==
! 82: 0=>0 - 0=>0
! 83: 0=>0 - 1=>1
! 84: 0=>0 - 2=>2
! 85: 1=>1 - 0=>0
! 86: 1=>1 - 1=>1
! 87: 1=>1 - 2=>2
! 88: 2=>2 - 0=>0
! 89: 2=>2 - 1=>1
! 90: 2=>2 - 2=>2
! 91: ==UseRef==
! 92: 0=>0 - 0=>0
! 93: 0=>0 - 1=>1
! 94: 0=>0 - 2=>2
! 95: 1=>1 - 0=>modify
! 96: 1=>1 - 1=>1
! 97: 1=>1 - 2=>2
! 98: 2=>2 - 0=>modify
! 99: 2=>2 - 1=>1
! 100: 2=>2 - 2=>2
! 101: ==Modify==
! 102: 0=>0 - 0=>0
! 103: 0=>0 - 1=>1
! 104: 0=>0 - 2=>2
! 105: 1=>1 - 0=>modify
! 106: 1=>1 - 1=>1
! 107: 1=>1 - 2=>2
! 108: 2=>2 - 0=>modify
! 109: 2=>2 - 1=>1
! 110: 2=>2 - 2=>2
! 111: ==Delete==
! 112: 0=>0 - 0=>0
! 113: 0=>0 - 1=>1
! 114: 0=>0 - 2=>2
! 115: 1=>1 - 0=>0
! 116: 1=>1 - 1=>1
! 117:
! 118: Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_004.php on line %d
! 119: 1=>1 - 0=>0
! 120: 1=>1 - 2=>2
! 121:
! 122: Notice: main(): ArrayIterator::next(): Array was modified outside object and internal position is no longer valid in %sarray_004.php on line %d
! 123: 0=>0 - 0=>0
! 124: 0=>0 - 2=>2
! 125: 2=>2 - 0=>0
! 126: 2=>2 - 2=>2
! 127: ==Change==
! 128: 0=>0 - 0=>0
! 129: 0=>0 - 1=>1
! 130: 0=>0 - 2=>2
! 131: 1=>1 - 0=>0
! 132: 1=>1 - 1=>1
! 133:
! 134: Notice: main(): ArrayIterator::current(): Array was modified outside object and is no longer an array in %sarray_004.php on line %d
! 135:
! 136: Notice: main(): ArrayIterator::valid(): Array was modified outside object and is no longer an array in %sarray_004.php on line %d
! 137:
! 138: Notice: main(): ArrayIterator::current(): Array was modified outside object and is no longer an array in %sarray_004.php on line %d
! 139:
! 140: Notice: main(): ArrayIterator::valid(): Array was modified outside object and is no longer an array in %sarray_004.php on line %d
! 141: Done
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>