1
どのように設定することができますアイテムは、例えば、文字列に押し込まれたときにエラーを生成するPHP 7:PHP7プロデュースエラー配列のプッシュが文字列で使用されている場合
$items = '';
$items[] = 'test';
これは可能ですか?
どのように設定することができますアイテムは、例えば、文字列に押し込まれたときにエラーを生成するPHP 7:PHP7プロデュースエラー配列のプッシュが文字列で使用されている場合
$items = '';
$items[] = 'test';
これは可能ですか?
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に良い答えがあります。