PHP: получить ключ из массива в цикле foreach

print_r ($ samplearr) печатает следующее для моего массива, содержащего 3 элемента:

Array ( [4722] => Array ( [value1] => 52 [value2] => 46 ) Array ( [4922] => Array ( [value1] => 22 [value2] => 47 ) Array ( [7522] => Array ( [value1] => 47 [value2] => 85 ) 

Я хочу поместить их в таблицу HTML, чтобы я делал foreach, но не делал то, что ожидал:

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

Что возвращается:

 <tr><td>value1</td><td>52</td><td>46</td></tr> 

Это будет первый результат, который я хочу:

 <tr><td>4722</td><td>52</td><td>46</td></tr> 

Какую функцию мне нужно использовать вместо ключа ($ item), чтобы получить 4722?

Попробуй это:

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

Используйте foreach с ключом и значением.

Пример:

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

вам нужны вложенные петли foreach

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

Измените свою ключевую функцию с помощью array_keys .