我有这段代码,它是我用来确定给定字符串是否是保留的 PHP 关键字的函数的一部分(因为 PHP 没有内置的函数):
$tokens = token_get_all('<?php ' . $string . '; ?>');
if (is_array($tokens))
return reset($tokens[1]) !== T_STRING; // Madness...
它使 PHPStan 吠叫:
参数 #1 $array of function reset 需要给出 array|object, array<int, int|string>|string。
我不知道为什么,但希望错误消失,所以我试图“展开”这条紧凑的线路,但我意识到我不明白它在做什么。你能解释一下并帮助我吗?我经常发现将事情分成单独的行/操作会使 PHPStan 停止吠叫。