String tests for empty must be done against ''
, not with strlen
.
Risky when strlen
is overridden, when called using a stringable
object,
also no longer triggers warning when called using non-string(able).
--- Original
+++ New
-<?php $a = 0 === strlen($b) || \STRLEN($c) < 1;
+<?php $a = '' === $b || $c === '';
The rule is part of the following rule sets:
- Fixer class: PhpCsFixer\Fixer\StringNotation\StringLengthToEmptyFixer
- Test class: PhpCsFixer\Tests\Fixer\StringNotation\StringLengthToEmptyFixerTest
The test class defines officially supported behaviour. Each test case is a part of our backward compatibility promise.