【问题标题】:How to detect whether a JSON object is a String or an Array in PHP? [duplicate]如何在 PHP 中检测 JSON 对象是字符串还是数组? [复制]
【发布时间】:2017-04-27 18:48:41
【问题描述】:

当我有如下输入时...

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

我用foreach 循环处理它——就像这样:

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

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

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

我收到一个错误,因为对象内部没有要循环的数组。

那么有什么好的和有效的检测方法呢?

【问题讨论】:

标签: php arrays json string foreach


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2021-02-28
    • 2012-04-06
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2016-06-05
    • 1970-01-01
    • 2017-06-18
    • 1970-01-01
    相关资源
    最近更新 更多