PHP数组循环获取数组


php array loop to get array

我有一个像这样的$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作为包含[0][1]等的数组,具体取决于元素的数量。所以本质上,print的输出应该是一个数组(我也可以使用var_dump),键/值为[0],但现在它只输出单个键和它们的值,例如,正如你上面看到的,scoid=3557012。我将需要,所有的键/值在$会议变量,类似的东西:

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

我如何修复foreach循环?

请尝试一下。希望能有所帮助。

foreach($date as $key =>  $meetings){
       if($key == "meetingname")
         continue;
       else
         print "$meetings'n";
 }

你可以创建一个新的数组并将会议添加到其中

<?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);
?>