首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >PHP具有相同的字符串,但并不相同

PHP具有相同的字符串,但并不相同
EN

Stack Overflow用户
提问于 2014-08-26 09:18:43
回答 2查看 105关注 0票数 1

我使用PHPExcel包将数据从.xls文件导入到数据库中。文件不时被更新,所以我不得不再次导入它。导入之前,我检查数据库是否已经包含了.xls文件中包含的任何数据。

在大多数情况下,它可以工作--已经包含在DB中的数据被省略了,但是仍然存在一些重复的值。

我要做的是:

  1. 查询DB:SELECT * FROM Table1,将结果取到数组中。
  2. PHPExcel使用,获取变量的行值,检查该值是否已存在于数组中。
  3. 如果是-跳过,如果没有-添加到DB。

但是数组中包含了一个值“名称(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。

请帮帮忙,我的想法用完了。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-08-26 10:08:09

最好使用MySQL来完成以下操作:

代码语言:javascript
运行
复制
ALTER IGNORE TABLE your-table ADD UNIQUE INDEX idx ( uniqueField, orFields );

这将删除所有重复的字段或字段是相同的。完成后,删除索引:

代码语言:javascript
运行
复制
ALTER TABLE your-table DROP INDEX idx
票数 1
EN

Stack Overflow用户

发布于 2014-08-26 09:30:51

2个已知问题:

1

我曾经遇到过一个类似的问题。问题的结果是导入的数据被错误的编码读取。它导致了以下情况:

代码语言:javascript
运行
复制
echo $str1; // output: foo
echo $str2; // output: foo
echo $str1 == $str2 ? "The same" : "Not the same"; // output: Not the same

我只是在做了以下几件事之后才明白这一点:

代码语言:javascript
运行
复制
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。要将其公开,请执行以下操作:

代码语言:javascript
运行
复制
echo htmlspecialchars($str1); // foo
echo htmlspecialchars($str2); // <span>foo</span>

并/或在浏览器中查看HTML页面的源。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25502201

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档