<?php
/**
* @return int[]
*/
function getIntArray(): array
{
return [100, 200];
}
function setInt(int $value): void
{
echo $value;
}
$intArray = getIntArray();
setInt($intArray[2]);
此代码将导致错误:
PHP Warning: Undefined array key 2
PHP Fatal error: Uncaught TypeError: setInt(): Argument #1 ($value) must be of type int, null given
但是 phpstan 没有显示错误: https://phpstan.org/r/ab7b85e4-2f96-4d6e-9ef7-20c99d5b163a
phpstan 中是否有某种设置可以捕获此错误?
数组从 0 开始计数。您的
getIntArray()
函数返回一个包含两个值的数组。因此 $intArray[2]
返回 null
。
尝试
setInt($intArray[1]);
。