Heim  >  Artikel  >  Datenbank  >  Warum zeigt meine foreach-Schleife doppelte Daten an, wenn ich „mysql_fetch_array“ verwende?

Warum zeigt meine foreach-Schleife doppelte Daten an, wenn ich „mysql_fetch_array“ verwende?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 20:25:30828Durchsuche

Why does my foreach loop display doubled data when using `mysql_fetch_array`?

Doppelte Ergebnisse im Array (mysql_fetch_array)

Der angegebene Code stößt auf ein Problem, bei dem die foreach-Schleife aufgrund der Funktionsweise von mysql_fetch_array doppelte Daten anzeigt . Standardmäßig weist es jedem Element im Ergebnisarray sowohl numerische als auch assoziative Indizes zu. Dieser Effekt kann in der print_r-Ausgabe beobachtet werden, wo sowohl Indizes (0, 1, 2 usw.) als auch ihre entsprechenden Schlüssel (ID, Abteilungs-ID, Name usw.) erscheinen.

Um dieses Problem zu beheben, Sie können den gewünschten Indextyp im Funktionsaufruf mysql_fetch_array angeben. Durch die Übergabe von MYSQL_NUM als zweiten Parameter können Sie ein Array nur mit numerischen Tasten abrufen. Alternativ gibt MYSQL_ASSOC ein Array nur mit assoziativen Schlüsseln zurück.

<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>

Sie können auch die Funktionen mysql_fetch_row und mysql_fetch_assoc verwenden, die speziell numerische bzw. assoziative Arrays zurückgeben:

<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>

Durch die Nutzung dieser Optionen können Sie doppelte Daten in Ihrer foreach-Schleife vermeiden und sicherstellen, dass das resultierende Array die benötigten Indizes und Werte enthält.

Das obige ist der detaillierte Inhalt vonWarum zeigt meine foreach-Schleife doppelte Daten an, wenn ich „mysql_fetch_array“ verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn