How to Retrieve Array Keys in a PHP Foreach Loop for Nested Arrays?

Barbara Streisand
Release: 2024-10-17 17:22:02
Original
700 people have browsed it

How to Retrieve Array Keys in a PHP Foreach Loop for Nested Arrays?

PHP: Retrieving Array Keys in Foreach Loop

In PHP, iterating over an associative array using the foreach loop provides access to both the values and keys. However, the key() function only returns the current value's key, which can be insufficient when working with nested arrays.

For instance, consider an array like this:

<code class="php"><?php
$samplearr = array(
    4722 => array('value1' => 52, 'value2' => 46),
    4922 => array('value1' => 22, 'value2' => 47),
    7522 => array('value1' => 47, 'value2' => 85)
);
?></code>
Copy after login

If you attempt to use key($item) in a foreach loop to retrieve the parent key, you may encounter unexpected results:

<code class="php"><?php
foreach ($samplearr as $item) {
    echo "<tr><td>" . key($item) . "</td>";
    echo "<td>" . $samplearr['value1'] . "</td>";
    echo "<td>" . $samplearr['value2'] . "</td></tr>";
}
?></code>
Copy after login

This code only returns the value keys: value1 and value2.

To access the parent keys, you can use the following approach in the foreach loop:

<code class="php"><?php
foreach ($samplearr as $key => $item) {
    echo "<tr><td>" . $key . "</td>";
    echo "<td>" . $item['value1'] . "</td>";
    echo "<td>" . $item['value2'] . "</td></tr>";
}
?></code>
Copy after login

By using $key, the loop iterates over the parent keys, allowing you to access and print both the parent and child values as desired.

The above is the detailed content of How to Retrieve Array Keys in a PHP Foreach Loop for Nested Arrays?. For more information, please follow other related articles on the PHP Chinese website!

source:php
Statement of this Website
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
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template