PHPStan对数组键存错误假设:empty判断后类型错误窄化
PHPStan中empty()判断后的类型窄化是否合理?
我发现PHPStan在执行if (empty(...))判断后,存在类型窄化不符合预期的情况。使用的PHPStan版本是2.1.10,级别为10。
代码示例如下:
\PHPStan\dumpType($_GET); // array<mixed> if (empty($_GET['ssid'])) { /* do nothing */ } \PHPStan\dumpType($_GET); // non-empty-array&hasOffsetValue('ssid', mixed~(0|0.0|''|'0'|array{}|false|null))
我认为即便经过该if判断(其结果可能为false),$_GET的类型仍应保持为array<mixed>。想请教这种类型窄化是否合理,还是属于BUG?
内容的提问来源于stack exchange,提问作者Roman Hocke
相关产品推荐
相关产品推荐

