2013-03-07 2 views
2

나는 몇 가지 코드가 실행하고 잘 작동하고 있어요하지만 문제의 사이트가 배열의 값이 코드PHP는 array_unique() 반환 중복

"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 = ''; 
     } 

DB에서 가져온 다른 모든 엔터 키는 OK이지만 값이 "morphsuit"일 때 두 배가됩니다.

왜 그런지 알고 있습니까?

+1

"복제"모프 수트의 길이를 확인하십시오. 하나의 끝에 공백이있을 수 있습니다. – dnagirl

답변

3

값이 정확히 같지 않습니다. 가장 가능성있는 원인은 인쇄 할 수없는 종류의 인쇄가 불가능한 것입니다. 공백, 인라인 HTML 또는 제어 문자 같은 것들.

string_ (9) "morphsuit"대 string (2031) "morphsuit"(내가 그 번호를 발명 한 것과 같은 것을 말하면 값의 var_dump()를 실행하여 출력의 길이 부분에주의를 기울이십시오. 그러나 당신은 아이디어를 얻는다).

+0

고마워 .. 문제가 뭔지 모르겠다. (공백이어야 함) db를 거쳐 "Morphsuits"를 복사하여 6 개 항목 모두에 복사하면 트릭을 수행하는 것처럼 보였다. 클라이언트를 너무 업데이트했습니다 :-) – john