【问题标题】:PHP: Get the key from an array in a foreach loop [duplicate]PHP:在foreach循环中从数组中获取键[重复]
【发布时间】:2012-06-15 01:27:13
【问题描述】:

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>

我需要使用什么函数而不是 key($item) 来获取 4722?

【问题讨论】:

    标签: php arrays foreach


    【解决方案1】:

    试试这个:

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

    【讨论】:

    • 如果您不购买 $item。你可以给我们foreach(array_keys($arr) as $key){}
    • ...或者您可以只存储引用 &amp;$item 而不复制变量,有时检索 array_keys 的性能比仅仅“按原样”遍历它的性能更差:-)跨度>
    【解决方案2】:

    foreach 与键和值一起使用。

    例子:

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

    【讨论】:

      【解决方案3】:

      你需要嵌套的 foreach 循环

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-08
        • 2017-02-10
        • 2016-01-19
        • 2013-07-18
        • 2019-04-29
        • 2015-05-03
        • 1970-01-01
        相关资源
        最近更新 更多