PHP能不能这样写

[下载]php java javascript 相关 api 手册的下载

 1. 用[]的方式访问类的成员变量

<?php
 
class aa {
        public $b = 1; 
        public $c = 2; 
}
 
$a = new aa();
echo "====test class as an array====\n";
echo '$a[\'b\'] = ' . $a['b'];
结果如下:
====test class as an array====
 
Fatal error: Cannot use object of type aa as array in /home/liuxin/test/testphp/testclass.php on line 10
 
2. 直接foreach一个class
 
echo '$a[\'b\'] = ' . $a['b'];
<?php
 
class aa {
        public $b = array(2,3,5);
        public $c = 2; 
}
 
$a = new aa();
echo "====test class parameter as an array====\n";
foreach ($a as $key => $v) {
        print_r($v);
}
有意思的事情发生了
====test class parameter as an array====
Array
(
    [0] => 2
    [1] => 3
    [2] => 5
)
2
 
可见,php中object就是object,不能按照array的方式使用,但是,php5中的类是可以被循环的,参见这里吧:
PHP 5 provides a way for objects to be defined so it is possible to iterate through a list of items, with, for example a foreach statement. By default, all visible properties will be used for the iteration.




Tags:
评论: 0 | 引用: 0 | 查看次数: 257
发表评论
你没有权限发表评论!请先注册再评论:点击注册