0

我有一个像这样的 $date 数组:

[1]=> array(11) {
    ["meetingname"]=> string(33) "win2008connectcurrent0423131"
    [0]=> array(3) {
        ["scoid"]=> string(7) "3557012"
        ["datecreated"]=> string(19) "2013-05-23 10:02:39"
        ["numparticipants"]=> string(1) "3"
    }
    [1]=> array(3) {
        ["scoid"]=> string(7) "3557012"
        ["datecreated"]=> string(19) "2013-05-23 14:40:06"
        ["numparticipants"]=> string(1) "3"
    }
}   

foreach($date[0] as $key =>  $meetings){
    print "$key = $meetings\n";////yields scoid = 3557012
}

而且,正如您在上面看到的,我正在遍历各个元素。第一个元素(未索引)始终是meetingname; 其余元素被索引,并且它们本身包含数组,每个数组中包含三个元素——在上面的代码中,它们是[0][1]

我需要做的是根据元素的数量将其作为一个包含然后等$meetings的数组。所以本质上, print 的输出应该是一个数组(我也可以使用),其键/值是 ,但它不仅输出单个键及其值,例如,如您在上面看到的那样,. 我将需要 $meetings 变量中的所有键/值,例如:[0][1]var_dump[0]scoid=3557012

{
    ["scoid"]=> string(7) "3557012"
    ["datecreated"]=> string(19) "2013-05-23 10:02:39"
    ["numparticipants"]=> string(1) "3"
}

我该如何修复 foreach 循环呢?

4

2 回答 2

4

请试试这个。希望它有所帮助。

foreach($date as $key =>  $meetings){
       if($key == "meetingname")
         continue;
       else
         print "$meetings\n";
 }
于 2013-06-05T13:46:21.953 回答
1

You can just create a new array and add the meetings to that one

<?php
$meetings = array();
foreach($date[1] as $key=>$meeting) {
  if (!is_int($key))
    continue;  //only handle numeric keys, incase you ever change the name of the first key 'meetingname'

  $meetings[] = $meeting
}

var_dump($meetings);
?>
于 2013-06-05T13:51:09.427 回答