2011-09-19 62 views
0

我有数组像波纹管。我不明白它是如何创建的。关于对象数组的问题

xyz Object ([foo] => 10 [foo1:protected] => Array ([b] => 5 [b1] => 6)) 

我的问题

  • 什么是XYZ
  • 我怎样才能B1的值
  • 如何这个数组创建
  • 如何:保护在数组用于
  • 这个和普通或stdobject数组有什么区别

    在此先感谢

+0

'xyz'是[对象](http://www.php.net/manual/en/language.types.object.php),** **不一个[阵列](HTTP: //www.php.net/manual/en/language.types.array.php)。阅读手册。 – Jon

回答

1

这是xyz类的一个实例,其中包含字段foofoo1

<?php 
class xyz 
    { 
    var $foo=10; 
    protected $foo1=array("b"=>5,"b1"=>6); 
    public function getB1() { return $this->foo1["b1"];} 
    } 

    $a=new xyz(); 
    print_r($a); 

// print $a->foo1["b1"]; // can't be accessible due to protection 
    print $a->getB1(); 
?> 
+0

$ avd:我如何提取b1值 – Gowri

+0

@gowri - 类的保护成员不能在类定义之外访问。你可以通过公共方法“封装”它。 – adatapost

1

1)我认为是对象或类名(不记得是哪)。

2)除非数组有公共getter(它受保护),否则不能在类之外。

3)它不是一个数组,它是一个对象。它在你的代码的某个地方被初始化。

4)受保护是一个类访问关键字,它不用于数组。 5)stdClass(假设这就是你的意思)将不会有一个var保护(有人纠正我,如果这是错误的)。