2017-05-07 34 views
0

如果條件是拋出以下通知,該如何解決?如果條件是投訴通知

Notice: Trying to get property of non-object in /view_rep.php on line 17 

這裏是我的PHP代碼

if ($check->check_area->id != @$_GET['check_area']) { 
    unset($check[$k]); 
} 

我嘗試以下,但仍然,我看到了多個通知

error_reporting(0); 
ini_set('display_errors',0); 

的print_r($檢查),打印以下幾部件

[check_area] => stdClass Object 
     (
      [id] => 5429140 
      [url] => /api/v2/checke_areas/5429140 
      [name] => Other 
     ) 
+0

你能分享'的print_r($檢查)'? –

+0

@SahilGulati [check_area] => stdClass對象([id] => 5429130 [url] =>/api/v2/check_areas/5429130 – user580950

+0

請確保您位於'/ view_rep.php'並且'17行'是'if($ check-> check_area-> id!= @ $ _ GET ['check_area']){ unset($ check [$ k]);' –

回答

1

看來$check是一個對象數組。如果是這樣的話,那麼改變你的if條件

if ($check->check_area->id ... 

if ($check['check_area']->id ... 
+0

現在的錯誤是致命錯誤:不能使用類型爲stdClass的對象作爲 – user580950

+0

@ user580950中的數組執行'var_dump($ check);'並告訴我們它顯示的內容。將內容粘貼到[pastebin.com](https ://pastebin.com/)並給我這裏的鏈接。 –

+0

https://pastebin.com/E8GTAXBL – user580950

1

爲了$check->check_area->id工作:

  1. $check必須符合的check_area一個屬性的對象。
  2. $check->check_area必須是屬性爲id的對象。

如果您收到property of a non-object錯誤,則其中一項或兩項都未得到滿足。

嘗試檢查他們是否試圖訪問屬性之前對象:

if ($check instanceof stdClass) { 

}