私はAPIにクエリを実行しており、得られる応答も配列を含む多次元オブジェクトオブジェクト(stdClass)です。応答がエラー状態であるか、成功したかどうかを確認する必要があります。応答が成功した場合、TRUEを返す必要があります。応答がエラーの場合は、応答に含まれるエラーメッセージを返す必要があります。成功とエラーのレスポンス形式はまったく異なります。エラーの応答は次のようになります。PHPキーが多次元配列とオブジェクトの組み合わせに存在するかどうかチェックして値を取得する
object(stdClass)#837 (3) {
["errors"]=> array(1) {
[0]=> object(stdClass)#838 (2) {
["code"]=>int(324)
["message"]=>string(80) "Duration too long, maximum:30000, actual:37081 (MediaId: snf:840912013693931526)"
}
}
["httpstatus"]=>int(400)
["rate"]=>NULL
}
成功のための応答は次のようになります。私はそれが誤りだった場合は、その後確立するISSETを使用してアレイへの応答を変更しようとしている
object(stdClass)#837 (27) {
["created_at"]=> string(30) "Sun Mar 12 13:41:43 +0000 2017"
["id"]=> int(840920745073102850)
["id_str"]=> string(18) "940920795073102850"
["text"]=> string(32) "The Details Posted Here"
["truncated"]=> bool(false)
["entities"]=> object(stdClass)#838 (5) {
["hashtags"]=>
........ Way More is in the Response but it does not matter...
$RESPONSEARRAY = (array) $RESPONSE;
(isset($RESPONSEARRAY["errors"])) {
$ERRORMSG_CODE= $RESPONSEARRAY['errors'][0]['code'];
$ERRORMSG_MESSAGE = $RESPONSEARRAY['errors'][0]['message'];
$ITWASANERROR = $ERRORMSG_CODE.": ".$ERRORMSG_MESSAGE;
return $ITWASANERROR;
} else {
return true;
}
しかし、上記の私に次のエラー与えること:
をし、そうしてそのようなエラーの詳細の値を取得する場合Fatal error: Cannot use object of type stdClass as array
誰も私がサーバー上で最小限のオーバーヘッドでやりたいことをやり遂げる方法を提案できますか?たぶん、stdClassオブジェクトを配列に変換する必要がないかもしれません。あるいは、それが行われなければならない場合、それは問題ありませんが、動作させるだけです。誰かが助けることができるどんな助けも非常に高く評価されるでしょう。
'if(isset($ object-> errors)){echo $ object-> errors [0] - > message; } ' – RiggsFolly
うわー...それは動作するように簡単です..ありがとう@RiggsFolly –