2017-02-21 30 views
-2

標題中提到的非常簡單的問題。我想要PHP的行爲,而不是給我一個錯誤,它可能只是當我調用一個空對象的方法返回另一個null。在PHP中禁用'調用成員函數*** null'

其他地方的PHP看起來並不在乎。

如果你從一個陣列中不存在的鍵,則返回null:

$foo = ['foo'=>'foo']; 
var_dump($foo['bar']); 

它返回null即使該數組爲null:

$foo = null; 
var_dump($foo['bar']); 

但它突然變得嚴重到目的!

+0

如果您正確設置您的error_reporting,它會*謹慎並給您一個警告。除此之外:如果您確實擁有一個對象或者只是空值,那麼* *您*作爲開發人員**來檢查**。 –

+0

@FranzGleichmann開發人員的工作就是完成工作。如果這不能實現,就說出來。 – bijiDango

+0

業餘愛好者的工作就是完成工作。專業人員的工作是完成工作*正確*。和一個簡單的'if($ foo!= null)'並不那麼難。 –

回答

0

你應該檢查錯誤,不用說禁用報告。

if ($foo != null) { 
    var_dump($foo['bar']); 
} 
// or 
if(isset($foo['bar'])) { 
    var_dump($foo['bar']); 
} 
相關問題