【问题标题】:php array_unique() returns duplicatephp array_unique() 返回重复
【发布时间】:2013-03-07 18:20:09
【问题描述】:

我有一些代码正在运行,并且运行良好,但是当数组中的值为“morphsuite”时,相关站点已开始生成重复项

代码:

if(isset($sort2))
  {
   $sort2 = array_unique($sort2);
   foreach($sort2 as $value)
       {
        $f_dress .= '<li><a href="../shop/shop.php?cat=2&amp;sub='.$value.'">'.$value.'</a></li>';
       }
  }
  else{
      $f_dress = '';
      }

从数据库中提取的所有其他输入都可以,但当值为“morphsuit”时会获得双倍

有人知道为什么吗?

【问题讨论】:

  • 检查你的“重复”变形套装的长度。一个结尾可能有一个空格。

标签: php array-unique


【解决方案1】:

这些值并不完全相同 - 最可能的原因是其中一个或另一个(或两者)嵌入了某种不可打印的内容;诸如空格、内联 HTML 或控制字符之类的东西。

尝试在值上运行 var_dump() 并注意输出的长度部分,当它显示类似 string(9) "morphsuit" vs. string(2031) "morphsuit" 时(我在那里发明了数字,但是你明白了)。

【讨论】:

  • 谢谢..不知道问题出在哪里。(一定是空格)刚刚通过数据库并将“Morphsuits”复制并粘贴到所有6个条目中,这似乎可以诀窍。首先更新客户端也做了:-)