ホームページ > バックエンド開発 > PHPチュートリアル > PHP 致命的エラー: stdClass 型のオブジェクトを配列として使用できません。

PHP 致命的エラー: stdClass 型のオブジェクトを配列として使用できません。

WBOY
リリース: 2016-07-13 10:20:45
オリジナル
991 人が閲覧しました

PHP 致命的エラー: エラーで stdClass 型のオブジェクトを配列として使用できません

PHP 開発で発生する「PHP 致命的エラー: エラーで stdClass 型のオブジェクトを配列として使用できません」問題の解決策を見てみましょう。

通常の配列では以下のエラーが発生します

コードは次のとおりです

配列 (
[0] => stdClass オブジェクト (
[id] => 1
[タイトル] =>素晴らしいお勧め
【サイズ】=> 280*150
[写真] => ./uploadfiles/201402160422.jpg
[状態] => 0)
[1] => stdClass オブジェクト (
[id] => 2
[タイトル] =>企業ニュース
【サイズ】=> 280*150
[写真] => ./uploadfiles/201402160533.jpg
[状態] => 0)
)
?>

その後、Baiduで同様の質問を検索しましたが、相手はjsonデータでした

PHP が json_decode を呼び出して文字列オブジェクトから json オブジェクトを生成するとき、[] 演算子を使用してデータを取得すると、次のエラーが発生します:

stdClass型のオブジェクトを配列として使用することはできません

原因:

コードは次のとおりです

$res = json_decode($res);
$res['key']; // json_decode() の後のオブジェクトを配列として使用します。

解決策(2種類):

1. json_decode($d, true) を使用します。 json_decode の 2 番目の変数を true に設定するだけです。

2. json_decode($res) はオブジェクトを返しますが、$res['key'] を使用してアクセスすることはできません。$res->key に置き換えてください。

さて、元の問題発見に戻りましょう

問題は、[] を直接使用して表示できないことです。上記のコードの出力は $pic[0]->title に変更されます。普通になる

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/865527.html技術記事 PHP 致命的エラー: エラーで stdClass 型のオブジェクトを配列として使用できません PHP 致命的エラー: エラーで stdClass 型のオブジェクトを配列として使用できません PHP 開発での質問を見てみましょう...
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート