вопросы о массиве объектов - PullRequest
       1

вопросы о массиве объектов

0 голосов
/ 19 сентября 2011

У меня есть массив, как показано ниже. Я не понимаю, как он создается.

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

мои вопросы

  • Что такое xyz
  • КакМогу ли я получить значение b1
  • Как создается этот массив
  • Как: защищенный используется в массиве
  • В чем разница между этим и нормальным илимассив stdobject

    Заранее спасибо

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

Это экземпляр класса xyz, который содержит поля: foo и foo1.

<?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();
?>
1 голос
/ 19 сентября 2011

1) Я считаю, что это имя объекта или класса (не могу вспомнить, какое).

2) Вы не можете выйти за пределы класса, если у вас нет общедоступного метода получения массива (он защищен).

3) Это не массив, это объект. Он инициализируется где-то в вашем коде.

4) Защищенное - это ключевое слово для доступа к классу, оно не используется с массивами.

5) stdClass (если вы это имеете в виду) не будет защищать set var (кто-нибудь исправит меня, если это не так).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...