我使用PHPExcel包将数据从.xls文件导入到数据库中。文件不时被更新,所以我不得不再次导入它。导入之前,我检查数据库是否已经包含了.xls文件中包含的任何数据。
在大多数情况下,它可以工作--已经包含在DB中的数据被省略了,但是仍然存在一些重复的值。
我要做的是:
SELECT * FROM Table1,将结果取到数组中。但是数组中包含了一个值“名称(xxx yyy )”(我使用了if ($array[0] == "The name (xxx yyy zzz)")并返回了true),但是array_search函数仍然找不到它。
我用的是trim,但还是什么都没有。变量的var_dump值、实际值和指标值相同。similar_text($array[0], "The name (xxx yyy zzz)")返回2。
请帮帮忙,我的想法用完了。
发布于 2014-08-26 10:08:09
最好使用MySQL来完成以下操作:
ALTER IGNORE TABLE your-table ADD UNIQUE INDEX idx ( uniqueField, orFields );这将删除所有重复的字段或字段是相同的。完成后,删除索引:
ALTER TABLE your-table DROP INDEX idx发布于 2014-08-26 09:30:51
2个已知问题:
1
我曾经遇到过一个类似的问题。问题的结果是导入的数据被错误的编码读取。它导致了以下情况:
echo $str1; // output: foo
echo $str2; // output: foo
echo $str1 == $str2 ? "The same" : "Not the same"; // output: Not the same我只是在做了以下几件事之后才明白这一点:
for($i = 0; $i < strlen($str1); $i++) echo ord($str1[$i])." "; // 102 111 111
for($i = 0; $i < strlen($str2); $i++) echo ord($str2[$i])." "; // 102 0 111 0 111 0我猜你也遇到了类似的事情。
2
另一种可能性是,正如注释中所建议的那样,您的字符串中有HTML。要将其公开,请执行以下操作:
echo htmlspecialchars($str1); // foo
echo htmlspecialchars($str2); // <span>foo</span>并/或在浏览器中查看HTML页面的源。
https://stackoverflow.com/questions/25502201
复制相似问题