次のコードで警告を受け取ることは可能ですか?
error_reporting(E_ALL);
$s = array(
'a' => '1',
'a' => '1'
);
var_export( $s );
次のコードで警告を受け取ることは可能ですか?
error_reporting(E_ALL);
$s = array(
'a' => '1',
'a' => '1'
);
var_export( $s );
あなたの唯一の望みは(あなたcount
自身を-することは別として)あなたの編集者がタイプミスを強調するのに十分賢いということです。このスクリーンショットはPHPStormからのものです:
この場合、標準の配列を使用して実際にエラーをスローすることはできません。ただし、プロパティを更新/再宣言するときに、SPL ArrayObjectの拡張を確認し、エラーをスローすることができます。
更新:そのようなもの:
class MyStrictArray extends ArrayObject
{
public function offsetSet($index, $value)
{
if ($this->offsetExists($index)) {
trigger_error("Can't redeclare a property", E_USER_ERROR);
return;
}
return parent::offsetSet($index, $value);
}
}
// and to use it.
$array = new MyStrictArray();
$array['a'] = 'foo';
$array['a'] = 'bar'; // triggers error