duan0427 2012-04-26 10:38
浏览 21
已采纳

如何提取(多维)数组?

My Array consist:

Array ( 
      [**Anconia**] => Array ( [1335372330] => 7 [1335190784] => 7 [1334883979] => 7 [1334672871] => 7 [1334539093] => 7 [1334337930] => 7 [1334189033] => 7 [1334007668] => 7 [1333567097] => 7 [1332973327] => 7 [1332533799] => 7 [1332215655] => 7 [1331697329] => 7 [1331239651] => 7 [1331075294] => 7 [1330983800] => 7 [1330658201] => 7 [1330484662] => 7 [1330202828] => 7 [1330028992] => 7 ) 
      [**Angellica**] => Array ( [1335372330] => 9 [1335190784] => 9 [1334883979] => 10 [1334539093] => 10 [1334337930] => 10 [1334189033] => 10 [1334007668] => 10 [1331697329] => 9 [1331239651] => 9 [1331075294] => 9 [1330983800] => 9 [1330658201] => 10 [1330484662] => 10 [1330202828] => 8 [1330028992] => 9 )
)

TimeStamp    Tally Number
[1335372330] => 7

Using foreach confused me when attempting to extract this. Want to print the NAME (print in bold) once and display the timestamp = how many.

How would I go about that?

Thanks in advance!

EDIT:

my attempt

foreach($results as $k => $v) { 
   $THEAD .= "<th scope='col'>".$k."</th>"; 
   $TBODY .= "<tr><th scope='row'>".$v."</th>"; 
   $TBODY2 .= "<td>".$results[$k]."</td>"; 
}
  • 写回答

3条回答 默认 最新

  • douduidui1046 2012-04-26 10:49
    关注

    In general, you can loop through a nested array the same way as you loop through a single-level array. Example:

    $myArray = array(
        'first-level-first-key' => array(
            'second-level-first-key' => 'some value',
            'second-level-second-key' => 'another value'
        ),
        'first-level-second-key' => array(
            'seond-level-another-key' => 'yet another value'
        )
    );
    
    foreach($myArray as $first_level_key => $first_level_value) {
        echo 'Key: '. $first_level_key .'<br />';
        echo 'Values: ';
        foreach($first_level_value as $second_level_key => $second_level_value) {
            echo $second_level_value .', ';
        }
        echo '<br /><br />';
    }
    

    This will print out:

    Key: first-level-first-key
    Values: some value, another value,
    
    Key: first-level-second-key
    Values: yet another value,
    

    Now you know how to loop through nested arrays. Have fun!

    Edit

    A little bit more explanation, as an answer to tmyie's comment below: As you can see every element is an array in itself:

    $myArray['first-level-first-key'] = array('second-level-first-key' => ... );
    

    The first foreach loops through all the 'first-level' arrays (in my example the elements with key 'first-level-....'). So within that loop, the variable $first_level_value holds an array. The second foreach loops through that, second-level, array. This nesting of loops is virtually endless if you have saved yet another array in that second level element.

    Compare it with having a couple of boxes in front of you. With the first loop, you say 'Open up every box in front of me'. Then for every single box you have opened, the nested loop says 'Open up every box I found in that box', and so on.

    Although there is most probably something very wrong with your application design if you'd write this, the following example is completely valid:

    foreach($myArray as $x) {
        foreach($x as $y) {
            foreach($y as $z) {
                foreach($z as $p) {
                    // etc
                }
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流
  • ¥15 高价求中通快递查询接口
  • ¥15 解决一个加好友限制问题 或者有好的方案