2011-09-19 6 views
0

나는 울부 짖는듯한 배열을 가지고 있습니다. 어떻게 만들어 졌는지 이해가 가지 않습니다.객체 배열에 대한 질문입니다.

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

내 질문에

  • 내가 B1의 가치를 얻을 수있는 방법 XYZ
  • 은 무엇입니까
  • 이 배열은
  • 어떻게 생성 방법
  • : 보호하는 배열에 사용되는
  • 이 배열과 일반 배열 또는 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

이 필드는 foofoo1 필드를 포함하는 xyz 클래스의 인스턴스입니다.

<?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) Protected는 클래스 액세스 키워드이며 배열과 함께 사용되지 않습니다.

5) stdClass (그게 무슨 뜻인지 가정)은 set var가 보호되지 않았을 것입니다.

관련 문제