Heim  >  Artikel  >  Backend-Entwicklung  >  So rufen Sie Array-Schlüssel in der PHP-Foreach-Schleife korrekt ab

So rufen Sie Array-Schlüssel in der PHP-Foreach-Schleife korrekt ab

Linda Hamilton
Linda HamiltonOriginal
2024-10-17 17:19:02605Durchsuche

How to Correctly Retrieve Array Keys in PHP Foreach Loop

Retrieving Array Keys in a Foreach Loop: Addressing an Error in Key Retrieval

In PHP, iterating over an array's values using a foreach loop can sometimes lead to unexpected behavior when accessing the keys. This is especially true if the array contains nested data structures.

Understanding the Error

Consider the following code:

<code class="php">foreach ($sampleArray as $item) {
    echo "&lt;tr&gt;&lt;td&gt;" . key($item) . "&lt;/td&gt;&lt;td&gt;" . $sampleArray['value1'] . "&lt;/td&gt;&lt;td&gt;" . $sampleArray['value2'] . "&lt;/td&gt;&lt;/tr&gt;";
}</code>

As illustrated in the provided question, this code will only output the key of the nested array (e.g., "value1"), not the desired key of the outer array itself (e.g., "4722").

Correcting the Issue

To retrieve the outer array key correctly, we need to modify the code slightly:

<code class="php">foreach ($sampleArray as $key => $item) {
    echo "&lt;tr&gt;&lt;td&gt;" . $key . "&lt;/td&gt;&lt;td&gt;" . $item['value1'] . "&lt;/td&gt;&lt;td&gt;" . $item['value2'] . "&lt;/td&gt;&lt;/tr&gt;";
}</code>

By adding a $key variable to the foreach loop, we can access the actual key of the outer array. This will then correctly print the desired key in the table.

Das obige ist der detaillierte Inhalt vonSo rufen Sie Array-Schlüssel in der PHP-Foreach-Schleife korrekt ab. 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