Error Identifier: cast.unset
Every error reported by PHPStan has an error identifier. Here’s a list of all error identifiers. In PHPStan Pro you can see the error identifier next to each error and filter errors by their identifiers.
Code example #
<?php declare(strict_types = 1);
$value = (unset) $foo;
Why is it reported? #
The (unset) cast was removed in PHP 8.0. In earlier versions, (unset) $expr was equivalent to assigning null, but it served no practical purpose and was deprecated in PHP 7.2 before being removed entirely in PHP 8.0.
PHPStan reports this error when the configured PHP version is 8.0 or later.
How to fix it #
Replace the (unset) cast with a direct null assignment, since that was the only effect of the cast.
-$value = (unset) $foo;
+$value = null;
Non-ignorable error #
This error cannot be ignored using @phpstan-ignore or the ignoreErrors configuration. Non-ignorable errors indicate code that would cause a crash or a fatal error at runtime, or a fundamental problem in the analysed code that must be addressed.
Rules that report this error #
- PHPStan\Rules\Cast\UnsetCastRule [1]