我有一个这样的$ 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]
等的数组,具体取决于元素的数量。基本上,打印输出应该是一个数组(我也可以使用var_dump
),键/值为[0]
,但不是它只输出单个键及其值,例如,你可以见上文,scoid=3557012
。我将需要$ meetings变量中的所有键/值,例如:
{
["scoid"]=> string(7) "3557012"
["datecreated"]=> string(19) "2013-05-23 10:02:39"
["numparticipants"]=> string(1) "3"
}
如何修复foreach循环?
答案 0 :(得分:4)
请试试这个。希望它有所帮助。
foreach($date as $key => $meetings){
if($key == "meetingname")
continue;
else
print "$meetings\n";
}
答案 1 :(得分:1)
您可以创建一个新阵列并将会议添加到该阵列
<?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);
?>