2017-02-22 5 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に良い答えがあります。

関連する問題