如何在PHP中检测JSON对象是String还是数组?

时间:2016-12-12 20:10:00

标签: php arrays json string foreach

当我有如下输入时......

{  
     "number":[  
        "+39XXXXXXXX",
        "+34XXXXXXXX",
        "+49XXXXXXXX"
     ],
     "message":"Sample msg..."
}

我用foreach循环处理它,所以:

foreach ($message->number as $key => $number) {
    ...                                     
}

但是当我有这样的输入时:

{  
     "number": "+49XXXXXXXX",
     "message": "Sample msg..."
}

我收到错误,因为没有数组要在对象内循环。

那么检测此问题的有效方法是什么?

1 个答案:

答案 0 :(得分:2)

您可以使用is_array函数检查var值是否为数组:

if (is_array($message->number) {
    foreach ($message->number as $key => $number) {
        ...                                     
    }
} else {
    ...
}