如何检查对象属性类型?

时间:2011-05-23 13:52:55

标签: php object

对不起标题,我找不到更好的方法来写它= /

我收到一个名为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 个答案:

答案 0 :(得分:4)

尝试...

is_object() and is_array()

答案 1 :(得分:1)

如果is_array($variable)包含数组,则

$variable返回true,否则返回false。

答案 2 :(得分:0)

测试对象的类:

if ($var instanceof ErrorBase) {

测试它是否是数组:

if (is_array($var)) {

答案 3 :(得分:0)

使用is_array()

if (is_array($this->ERROR_BASE))

答案 4 :(得分:0)

使用gettype()返回变量类型。

或使用is_array / is_object来测试每个