solarisedigle Asked:2022-09-15 15:34:43 +0800 CST2022-09-15 15:34:43 +0800 CST 2022-09-15 15:34:43 +0800 CST PHP 为什么 in_array 返回 true 772 这是整个代码:in_array(0, ['text', 'caption']) 返回真。PHP 7.2 版本,是什么原因? php 2 个回答 Voted Best Answer gil9red 2022-09-15T15:43:01+08:002022-09-15T15:43:01+08:00 在这里找到了答案。 in_array函数默认不使用严格比较,如果没有这个,会发生一些奇怪的事情(在 8 之前的版本中,从版本 8 开始,对非严格比较算法进行了改进,下面的代码将随之返回)false: var_dump(0 == 'text'); // bool(true) 您需要在in_array中启用严格比较: var_dump(in_array(0, ['text', 'caption'])); // bool(true) var_dump(in_array(0, ['text', 'caption'], true)); // bool(false) Евгений Малеев 2022-09-15T15:43:40+08:002022-09-15T15:43:40+08:00 设置严格的比较 in_array(0, ['text', 'caption'], true)
在这里找到了答案。
in_array函数默认不使用严格比较,如果没有这个,会发生一些奇怪的事情(在 8 之前的版本中,从版本 8 开始,对非严格比较算法进行了改进,下面的代码将随之返回)
false
:您需要在in_array中启用严格比较:
设置严格的比较