web-dev-qa-db-ja.com

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>

4722を取得するには、key($ item)の代わりにどの関数を使用する必要がありますか?

27
SystemX17

これを試して:

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

キーと値で foreach を使用します。

例:

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

ネストされたforeachループが必要です

foreach($samplearr as $key => $item){
   echo $key;
    foreach($item as $detail){
       echo $detail['value1'] . " " . $detail['value2']
     }
 }
0
David Stetler