PHP에서 데이터베이스 쿼리의 결과를 검색 할 때, 하나가 정수이고 하나가 열 이름 인 중복 된 값을받습니다. array_unique()는 배열을 정렬 할 때 대부분의 경우 문자열 앞에있는 숫자 키로 끝납니다. 이는 키가 유지된다는 의미입니다. 지금 당장은 숫자 키를 사용하여 배열에서 아무 것도 제거하는 함수를 사용합니다.하지만이 방법에 대해서는별로 신경 쓰지 않습니다. 누구든지이 일을하는 더 좋은 방법이 있습니까?텍스트 키를 선호하는 PHP 배열에서 중복 값을 제거하십시오.
답변
데이터베이스에서 값을 검색하는 데 사용하는 명령을 변경하십시오 (예 : mysql_fetch_array 대신 mysql_fetch_assoc). 현재 어떤 API를 사용하든간에 원하는 것을 정확하게 수행 할 수있는 대안이 있습니다.
갱신 : PDO에서
당신이 작성합니다
$nonumindexes = $res->fetch(PDO::FETCH_ASSOC);
PDO를 사용하고 있으므로 fetchAll()을 사용하고 있으므로'$ query-> fetchAll()'과 비슷합니다. PDO에 해당하는 mysql_fetch_assoc가 있습니까? (미안하지만, PDO 문서를 탐색하기가 다소 어려웠습니다.) – omniuni
@omniuni가 답변을 업데이트했습니다. – fdreger
@omniuni 또는 여기에서와 같이 PDO :: FETCH_ASSOC을 전역 속성으로 설정하십시오. http://stackoverflow.com/questions/3893858/is-is-possible-to-set-a-default-pdo-fetch- 모드 – fdreger
을 당신이 결과를 검색 할 mysqli_fetch_array()를 사용하고 의심?
그렇다면 두 번째 매개 변수를 사용하면 결과를 연관 배열, 숫자 배열 또는 둘 모두로 검색 할 수 있습니다. 또는 mysqli_fetch_row 또는 mysqli_fetch_assoc을 사용하여 원하는 형식으로 결과를 얻을 수 있습니다.
- 1. 중첩 된 배열에서 중복 된 값을 제거하십시오.
- 2. multidimesional 배열에서 키를 제거하십시오.
- 3. 배열에서 중복 항목을 제거하십시오.
- 4. PHP - 다차원 배열에서 중복 배열 키를 병합은
- 5. PHP 배열에서 쉼표를 제거하십시오.
- 6. 배열에서 특정 값을 제거하십시오.
- 7. php 배열에서 값을 검색하고 모든 키를 얻으십시오
- 8. PHP 고유하지 않은 경우 배열에서 URL을 제거하십시오.
- 9. PHP 배열에서 임의의 항목을 제거하십시오.
- 10. PHP로 다차원 (3 + 레벨) 배열에서 중복 값을 제거하십시오.
- 11. 와일드 카드를 사용하여 PHP 배열에서 특정 키를 제거하십시오.
- 12. PHP 배열에서 배열 키를 제거
- 13. 공백 값을 가진 키를 제거하십시오.
- 14. 문자열의 일부를 기반으로 PHP 배열에서 중복 값을 제거하는 방법
- 15. 특정 키를 기반으로 개체 배열에서 중복 찾기
- 16. PHP로 텍스트 파일에서 중복 된 이름을 제거하십시오.
- 17. PHP - 객체 배열에서 중복 제거
- 18. PHP 변수에서 값을 제거하십시오.
- 19. PHP : foreach를 사용하여 다차원 배열에서 요소를 제거하십시오.
- 20. 배열에서 원하지 않는 파일 경로 값을 제거하십시오.
- 21. 정렬 키없이 js 배열에서 값을 제거하십시오.
- 22. 데이터베이스를 변경하지 않고 개체 배열에서 값을 제거하십시오.
- 23. PHP 다차원 배열에서 최대 중복 검색
- 24. PhP - 대량 배열에서 값을 검색하고 상위 키를 반환합니다.
- 25. PHP 다차원 배열에서 중복 값을 제거하고 다른 사람을 병합하는 방법
- 26. PHP 배열에서 원하지 않는 행을 제거하십시오.
- 27. 중첩 배열에서 중복 제거
- 28. 다차원 배열에서 요소를 제거하십시오
- 29. 경우 현재 PHP 배열에서 값을 제거
- 30. 키에 중복 키와 값을 중복 배열로 만드는 배열에서 중복 값을 찾습니다.
'DISTINCT SELECT ... 'SQL에 PHP에서/중복 제거 필터링보다 훨씬 더 효율적이 될 것입니다. 사기꾼들이 사실 이후에 그들을 제거하는 것이 아니라 오히려 발생하는 것을 방지하십시오. –
문제는 중복 된 결과가 데이터베이스에서 반환되는 것이 아니라 PDO의 fetchAll() 함수가 각 항목을 인덱스와 컬럼 이름으로 두 번씩 두 번씩 반환한다는 것입니다. – omniuni