2013-06-05 97 views
0

我有一個$日期數組是這樣的:PHP數組循環得到陣列

[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。我需要的東西,$會議變量中的所有鍵/值,如:

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

我該如何修復foreach循環?

+0

你爲什麼不包括你的問題裏面,你想要的陣列? 'print_r'是okey,但每個人都會浪費時間將它轉換成真實的數組。 – tftd

+0

我覺得我的代碼塊在我的問題的最後幾乎所需的數組 - 這就是$會議**應該看起來像。 – IrfanClemson

回答

4

請試試這個。希望它有幫助。

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

是的!這將工作。謝謝! – IrfanClemson

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

嗨,$ date [1]不是一個元素 - 它必須是$ date [0]。無論如何,@ Hasina的答案正在起作用。謝謝你的幫助! – IrfanClemson