배열의 두 배 결과(mysql_fetch_array)
주어진 코드에서는 mysql_fetch_array 작동 방식으로 인해 foreach 루프가 두 배의 데이터를 표시하는 문제가 발생합니다. . 기본적으로 결과 배열의 각 요소에 숫자 인덱스와 연관 인덱스를 모두 할당합니다. 이 효과는 인덱스(0, 1, 2 등)와 해당 키(id, Department_id, name 등)가 모두 나타나는 print_r 출력에서 관찰할 수 있습니다.
이 문제를 해결하려면, mysql_fetch_array 함수 호출에서 원하는 인덱스 유형을 지정할 수 있습니다. MYSQL_NUM을 두 번째 매개변수로 전달하면 숫자 키만으로 배열을 검색할 수 있습니다. 또는 MYSQL_ASSOC는 연관 키만 있는 배열을 반환합니다.
<code class="php">// Get numeric keys only $query_result_array = mysql_fetch_array($query_result, MYSQL_NUM); // Get associative keys only $query_result_array = mysql_fetch_array($query_result, MYSQL_ASSOC);</code>
또한 구체적으로 숫자 배열 또는 연관 배열을 각각 반환하는 mysql_fetch_row 및 mysql_fetch_assoc 함수를 사용할 수도 있습니다.
<code class="php">// Get numeric keys only $query_result_array = mysql_fetch_row($query_result); // Get associative keys only $query_result_array = mysql_fetch_assoc($query_result);</code>
이러한 옵션을 활용하면 foreach 루프에서 데이터 중복을 방지하고 결과 배열에 필요한 인덱스와 값이 포함되도록 할 수 있습니다.
위 내용은 `mysql_fetch_array`를 사용할 때 foreach 루프에 두 배의 데이터가 표시되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!