Home  >  Article  >  Backend Development  >  How to Retrieve Key Values from Arrays in PHP Foreach Loops?

How to Retrieve Key Values from Arrays in PHP Foreach Loops?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-17 17:23:30360browse

How to Retrieve Key Values from Arrays in PHP Foreach Loops?

Getting Key Values from Arrays in PHP Foreach Loops

In PHP, retrieving the key or index of an array element while iterating through it in a foreach loop can be achieved using the correct function.

Understanding the Issue

In the provided example, the goal is to print an HTML table with the key of each array element (4722, 4922, 7522) and its corresponding values. However, using key($item) within the loop returned only the key of the first nested array (value1), resulting in incorrect output.

Solution: Using Key Assignment

To correctly retrieve the array key, use key assignment within the foreach loop syntax:

foreach($samplearr as $key => $item){
  // ... code to access key and values ...
}

By assigning the key to a variable ($key in this case), it becomes accessible and can be used within the loop.

Modified Loop:

Using key assignment, the corrected loop would be:

foreach($samplearr as $key => $item){
  print "<tr><td>" 
      . $key 
      . "</td><td>"  
      . $item['value1'] 
      . "</td><td>" 
      . $item['value2'] 
      . "</td></tr>";
}

This will correctly print the HTML table as desired:

<code class="html">&lt;tr&gt;&lt;td&gt;4722&lt;/td&gt;&lt;td&gt;52&lt;/td&gt;&lt;td&gt;46&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;4922&lt;/td&gt;&lt;td&gt;22&lt;/td&gt;&lt;td&gt;47&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;7522&lt;/td&gt;&lt;td&gt;47&lt;/td&gt;&lt;td&gt;85&lt;/td&gt;&lt;/tr&gt;</code>

The above is the detailed content of How to Retrieve Key Values from Arrays in PHP Foreach Loops?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn