2017-02-22 55 views

回答

2

在PHP 5.6和7.0中,將包含空字符串的變量轉換爲像這樣的數組是有效的。因此,您需要提供自己的驗證以產生異常。

function checkAndAssign($var, $val){ 
    if (is_string($var)){ 
     throw new ErrorException('Do not assign array item to a string'); 
    } 
    return $val; 
} 

$items = ''; 

try{ 
    $items[] = checkAndAssign($items, 'test'); 
}catch(Exception $e){ 
    echo $e->getMessage(); 
    return; 
} 

var_dump($items); 

結果:

數組項不要指定爲字符串

在PHP 7.1這會產生一個致命錯誤。如果您想嘗試這個問題,問題How do I catch a PHP Fatal Error已經有了很好的答案。

相關問題