我有一个像这样的$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);
?>