PHP: Get the key from an array in a foreach loop [duplicate]
print_r($samplearr) prints the following for my array containing 3 items:
Array ( [4722] => Array ( [value1] => 52 [value2] => 46 )
Array ( [4922] => Array ( [value1] => 22 [value2] => 47 )
Array ( [7522] => Array ( [value1] => 47 [value2] => 85 )
I want to put these into an HTML table so I was doing a foreach but its not doing what I expected:
foreach($samplearr as $item){
print "<tr><td>" . key($item) . "</td><td>" . $samplearr['value1'] . "</td><td>" . $samplearr['value2'] . "</td></tr>";
}
Which is returning:
<tr><td>value1</td><td>52</td><td>46</td></tr>
This would be the first output I am wanting:
<tr><td>4722</td><td>52</td><td>46</td></tr>
What function do I need to be using instead of key($item) to get the 4722?
Try this:
foreach($samplearr as $key => $item){
print "<tr><td>"
. $key
. "</td><td>"
. $item['value1']
. "</td><td>"
. $item['value2']
. "</td></tr>";
}
Use foreach with key and value.
Example:
foreach($samplearr as $key => $val) {
print "<tr><td>"
. $key
. "</td><td>"
. $val['value1']
. "</td><td>"
. $val['value2']
. "</td></tr>";
}