2016-12-12 1 views
0

私は以下のように入力して...PHPでJSONオブジェクトが文字列か配列かを検出するにはどうすればいいですか?

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

私はそうforeachループ状とそれを扱う:しかし

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

私はこのような入力を持っている:

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

エラーが発生しました。ループする配列がありませんオブジェクトの内側にある。

これを検出するには、どのような方法が適していますか。 VaRの値がis_array関数で使用して配列であるかどうかをチェックすることができます

+3

[ 'IS_ARRAY($ message->番号)'](http://php.net/manual/en/ function.is-array.php) –

+0

@JohnBupitありがとう:) – Borsn

+1

「JSONオブジェクト」のようなものはありません。 [JSON](https://en.wikipedia.org/wiki/JSON)は、データ構造のテキスト表現です。デコード後(['json_decode()'](http://php.net/manual/en/function.json-decode.php))、['is_array()'](http://php.net/ manual/en/function.is-array.php)、['is_string()'](http://php.net/manual/en/function.is-string.php)または他の['is _ *()'関数](http://php.net/manual/en/ref.var.php)を使用して型を見つけることができます。 – axiac

答えて

2

if (is_array($message->number) { 
    foreach ($message->number as $key => $number) { 
     ...          
    } 
} else { 
    ... 
} 
関連する問題