if($array[$i]['positiveOrNegative'] == 'p')

这个数组值是从MySQL数据库的CHAR(1)列中提取的。我已经转储了变量和返回字符串(1)p
我完全不知道为什么这个评估不正确,这真的让我心碎。如果我这样做,它确实有效。同时,p == p返回1(表示它们不相同)。这到底是怎么回事!?
--------更新:
等等,我一定是摔得很厉害。。。。现在我的变量是:
$array[$i]['positiveOrNegative']
字符串(4)“p”
以及
变量转储(p)
字符串(1)“p”
MySQL中的变量p是一个字符串(4)吗???
更多更新。。。
该列中的每个条目都是一个字符串(4),但它们都是一个字母(n或p)。而且,它们是字符串(4),即使我用PHPMyAdmin手动插入该字母。。。

最佳答案

你试过把数组打印到屏幕上看输出吗?

print_r($array[$i]['positiveOrNegative']);

通过这样做,您将能够看到数组的全部内容,任何奇怪的东西都应该非常清楚地突出出来。
我之所以提到这一点,是因为只要数据库持久化了一个您可以使用的值,那么它对它的处理方式可能并不重要。
因此,如果可视化地检查操作的结果,以确保没有任何奇怪的事情发生,那么在进行条件比较之前,您可能能够格式化数据库输出。

10-06 13:37