Trying to get property of non-object 

エラーメッセージNotice

警告メッセージ

 状態:-  閲覧数:2,670  投稿日:2016-11-24  更新日:2016-11-24  
Notice: Trying to get property of non-object in


内容


未定義変数またはnullを持つ変数のメンバにアクセス
・存在しない(or 値がnullな)変数のプロパティを参照しようとしたときに発生

遭遇例1

 閲覧数:560 投稿日:2016-11-24 更新日:2017-01-11 

Noticeが表示されてしまうコード


Twitter API 使用
・取得したstdClassクラスオブジェクトをforeachでループすると、警告が表示されてしまう
$result = $connection->get("search/tweets", array("q" => "プログラミング"));
foreach ($result as $key => $val) {
 foreach ($val as $key2 => $val2) {
   echo $text."<br><br>";
 }
}



対応例1


PHP7以上で使用可能なnull合体演算子(??)を使用
$result = $connection->get("search/tweets", array("q" => "プログラミング"));
foreach ($result as $key => $val) {
 foreach ($val as $key2 => $val2) {
   $text = $val2->text ?? '';
   echo $text."<br><br>";
 }
}



Noticeエラーを回避してarrayから値を取得するいくつかの例

遭遇例2

 閲覧数:550 投稿日:2017-01-11 更新日:2017-01-11 

Noticeが表示されてしまうコード


RSS取得
// Atom取得
if($rssdata->entry){
//中略
}
// rss1.0取得
elseif($rssdata->item){
//中略
}
// RSS2.0取得
elseif($rssdata->channel->item){





対応例2


PHP7以上で使用可能なnull合体演算子(??)を使用
// Atom取得
if($rssdata->entry ?? ''){
//中略
}
// rss1.0取得
elseif($rssdata->item ?? ''){
//中略
}
// RSS2.0取得
elseif($rssdata->channel->item ?? ''){



Notice: Constant ★★ already defined in ■■ on line ◆◆

コメント投稿(ログインが必要)



週間人気ページランキング / 9-3 → 9-9
順位 ページタイトル抜粋 アクセス数
1 ブラウザを閉じたらセッションデータはどうなるの? | セッション 5
2 PHPで定数を定義する方法は2種類ある / 配列定数の定義 4
3 ブラウザを閉じたらセッションデータはどうなるの? | セッション 3
3 コード例 … 「例外処理」はネストすることができる 3
4 http_build_queryとは? / 構文 /パラメータ 2
4 Fatal error: Uncaught Error: Call to a member function modify() on string | Fatal error(エラーメッセージ) 2
4 Warning: Unexpected character in input: '\' (ASCII=92) state=1 in ○○.php on line △△ | Warning(エラーメッセージ) 2
4 ( ! ) Deprecated: implode(): Passing glue string after array is deprecated. Swap the parameters in ★★★ headless-chromium-php/vendor/wrench/wrench/lib/Wrench/Protocol/Protocol.php | エラーメッセージ 2
4 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 2
4 対応例1.メモリ不足なので、PHPの最大使用メモリを増加するよう変更 2
4 Fatal error: require_once(): Failed opening required 'PEAR.php' | Fatal error(エラーメッセージ) 2
4 or(||) | 演算子 2
4 preg_match第3引数 × 後方参照 2
4 定数 2
4 Fatal error: Using $this when not in object context in /○○.php on line △△ | Fatal error(エラーメッセージ) 2
5 _FILE__ | 定数 1
5 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 1
5 PHPでcurlを使用するためには?/ 2.オプション設定 / curlでPOST送信 1
5 Warning: session_write_close(): Failed to write session data (user) | Warning(エラーメッセージ) 1
5 Maximum function nesting level of '256' reached | Fatal error(エラーメッセージ) 1
2025/9/10 1:01 更新