~ubuntu-branches/ubuntu/hardy/php5/hardy-updates

« back to all changes in this revision

Viewing changes to tests/classes/iterators_006.phpt

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-10-09 03:14:32 UTC
  • Revision ID: james.westby@ubuntu.com-20051009031432-kspik3lobxstafv9
Tags: upstream-5.0.5
ImportĀ upstreamĀ versionĀ 5.0.5

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--TEST--
 
2
ZE2 iterators and array wrapping
 
3
--SKIPIF--
 
4
<?php if (version_compare(zend_version(), '2.0.0-dev', '<')) die('skip ZendEngine 2 is needed'); ?> 
 
5
--FILE--
 
6
<?php
 
7
 
 
8
class ai implements Iterator {
 
9
 
 
10
        private $array;
 
11
 
 
12
        function __construct() {
 
13
                $this->array = array('foo', 'bar', 'baz');
 
14
        }
 
15
 
 
16
        function rewind() {
 
17
                reset($this->array);
 
18
                $this->next();
 
19
        }
 
20
 
 
21
        function valid() {
 
22
                return $this->key !== NULL;
 
23
        }
 
24
 
 
25
        function key() {
 
26
                return $this->key;
 
27
        }
 
28
 
 
29
        function current() {
 
30
                return $this->current;
 
31
        }
 
32
 
 
33
        function next() {
 
34
                list($this->key, $this->current) = each($this->array);
 
35
//              list($key, $current) = each($this->array);
 
36
//              $this->key = $key;
 
37
//              $this->current = $current;
 
38
        }
 
39
}
 
40
 
 
41
class a implements IteratorAggregate {
 
42
 
 
43
        public function getIterator() {
 
44
                return new ai();
 
45
        }
 
46
}
 
47
 
 
48
$array = new a();
 
49
 
 
50
foreach ($array as $property => $value) {
 
51
        print "$property: $value\n";    
 
52
}
 
53
 
 
54
#$array = $array->getIterator();
 
55
#$array->rewind();
 
56
#$array->valid();
 
57
#var_dump($array->key());
 
58
#var_dump($array->current());
 
59
echo "===2nd===\n";
 
60
 
 
61
$array = new ai();
 
62
 
 
63
foreach ($array as $property => $value) {
 
64
        print "$property: $value\n";    
 
65
}
 
66
 
 
67
echo "===3rd===\n";
 
68
 
 
69
foreach ($array as $property => $value) {
 
70
        print "$property: $value\n";    
 
71
}
 
72
 
 
73
?>
 
74
===DONE===
 
75
--EXPECT--
 
76
0: foo
 
77
1: bar
 
78
2: baz
 
79
===2nd===
 
80
0: foo
 
81
1: bar
 
82
2: baz
 
83
===3rd===
 
84
0: foo
 
85
1: bar
 
86
2: baz
 
87
===DONE===
 
 
b'\\ No newline at end of file'