我从php 5升级到7.2,并且在本地没有问题(需要进行一些更改,但它已解决)。
我的一个功能是不在生产服务器上工作。 代码如下所示:
$someBool = in_array($some, array("asd", "fgh", "etc"));
如果我对此进行var_dump,结果是UNKNOWN:0,但如果我将vardump正好低于此值(转储前没有任何if站),则该函数正常工作,结束转储结果将是bool (true)或bool(false)。
(我不会覆盖此变量)
再次,如果我评论var_dump行,该函数工作不正常。
有谁知道会导致这种行为的原因是什么? 谢谢你的帮助。
在原始功能中:
$needCmdText = in_array($fieldName,array(
'cmdpreid','cmdpostid','cmdskipid',
'cmdfixid','cmdexpid','cmdsysid'
));
$ fieldName始终' cmdexpid'来自客户。 (在我的测试用例中) 一个有趣的消息,一个简单的回声也解决了这个问题,但它应该在此之下。
答案 0 :(得分:0)
我将php 7.2更改为7.1,这解决了问题而没有任何代码更改。 (无需转储,解决)。
我认为php 7.2中存在一个奇怪的错误,它在Windows环境中不会发生。