我有一个array_diff的问题。
我有一个带有合法电子邮件地址的textarea。我从mysql数据库中获取这些。当我将它们插入textarea时,我也将它们保存在一个数组中。
当表单被提交时,我有一个函数,它获取textarea的内容并将其与第一个数组进行比较。通过这种方式,我可以看到用户是否添加了另一个电子邮件地址。
我的问题是array_diff输出整个数组,而不是不同的元素。
我尝试在比较之前输出数组,并且它们都具有正确的值。当我尝试使用硬编码值的虚拟数组时,输出是正确的。
导致这种情况的原因是什么?
答案 0 :(得分:0)
这取决于你如何添加到textarea,以及你如何让它们回来。
假设您在数据库中有单独的字符串中的电子邮件地址,您可能会将它们与textarea中的\n
组合,然后在\n
上进行爆炸...但如果您运行的是Windows则这些行以\r\n
分隔,因此您要将email@example.com
与email@example.com\r
进行比较,这是不同的。这将导致整个阵列被列出,没有任何明显的原因。