mirror of
https://github.com/php/php-src.git
synced 2024-10-20 16:02:44 +00:00
59 lines
673 B
Plaintext
59 lines
673 B
Plaintext
|
--TEST--
|
||
|
ZE2 foreach and property visibility
|
||
|
--FILE--
|
||
|
<?php
|
||
|
|
||
|
class base
|
||
|
{
|
||
|
public $a=1;
|
||
|
protected $b=2;
|
||
|
private $c=3;
|
||
|
|
||
|
function f()
|
||
|
{
|
||
|
foreach($this as $k=>$v) {
|
||
|
echo "$k=>$v\n";
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class derived extends base
|
||
|
{
|
||
|
}
|
||
|
|
||
|
$o = new base;
|
||
|
$o->d = 4;
|
||
|
echo "===base::function===\n";
|
||
|
$o->f();
|
||
|
echo "===base,foreach===\n";
|
||
|
foreach($o as $k=>$v) {
|
||
|
echo "$k=>$v\n";
|
||
|
}
|
||
|
|
||
|
$o = new derived;
|
||
|
$o->d = 4;
|
||
|
echo "===derived::function===\n";
|
||
|
$o->f();
|
||
|
echo "===derived,foreach===\n";
|
||
|
foreach($o as $k=>$v) {
|
||
|
echo "$k=>$v\n";
|
||
|
}
|
||
|
|
||
|
?>
|
||
|
--EXPECT--
|
||
|
===base::function===
|
||
|
a=>1
|
||
|
b=>2
|
||
|
c=>3
|
||
|
d=>4
|
||
|
===base,foreach===
|
||
|
a=>1
|
||
|
d=>4
|
||
|
===derived::function===
|
||
|
a=>1
|
||
|
b=>2
|
||
|
d=>4
|
||
|
===derived,foreach===
|
||
|
a=>1
|
||
|
d=>4
|