Как проверить типы свойств объектов? - PullRequest
1 голос
/ 23 мая 2011

Извините за заголовок, я не могу найти лучший способ написать его = /

Я получаю объект ошибки с именем ErrorBase.

Если будет только одна ошибка, она будетверните мне следующее:

public 'ErrorBase' => 
      public 'CODIGO_ERRO' => string '1' (length=1)
      public 'MENSAGEM_ERRO' => string 'Autenticação Inválida' (length=24)
      public 'TIPO_ERRO' => string 'Usuario' (length=7)

Но если будет более одной ошибки, мне вернется массив таких объектов:

public 'ErrorBase' => 
array
  0 => 
    object(stdClass)[30]
      public 'CODIGO_ERRO' => string '1' (length=1)
      public 'MENSAGEM_ERRO' => string 'Autenticação Inválida' (length=24)
      public 'TIPO_ERRO' => string 'Usuario' (length=7)
  1 => 
    object(stdClass)[31]
      public 'CODIGO_ERRO' => string '002' (length=3)
      public 'MENSAGEM_ERRO' => string 'teste 002' (length=9)
      public 'TIPO_ERRO' => string 'tipo 002' (length=8)
  2 => 
    object(stdClass)[32]
      public 'CODIGO_ERRO' => string '003' (length=3)
      public 'MENSAGEM_ERRO' => string 'teste 003' (length=9)
      public 'TIPO_ERRO' => string 'tipo 003' (length=8)
  3 => 
    object(stdClass)[33]
      public 'CODIGO_ERRO' => string '004' (length=3)
      public 'MENSAGEM_ERRO' => string 'teste 004' (length=9)
      public 'TIPO_ERRO' => string 'tipo 004' (length=8)

Как я могу работать в этих ситуациях?Как проверить, существует ли массив объектов или только объект?

Заранее благодарен за любую помощь.

Ответы [ 5 ]

4 голосов
/ 23 мая 2011

Попробуйте ...

is_object() and is_array()
1 голос
/ 23 мая 2011

is_array($variable) возвращает true, если $variable содержит массив, и false в противном случае.

0 голосов
/ 23 мая 2011

используйте gettype() для возврата типа vars.

или используйте is_array / is_object для проверки каждого

0 голосов
/ 23 мая 2011

Использование is_array():

if (is_array($this->ERROR_BASE))
0 голосов
/ 23 мая 2011

Чтобы проверить класс объекта:

if ($var instanceof ErrorBase) {

Чтобы проверить, является ли он массивом:

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