2013-02-15 42 views
0

我有兩個完整的陣列,每個約10個值。我將這些數組合並通過這行代碼顯示出來。陣列和使用陣列結合在PHP

foreach(array_combine($hpictures, $highschools) as $pictures => $hschool) 

並將它們回顯成css格式。

該數組的組合和代碼完美的工作,唯一的問題是,由於某種原因,它只顯示數組中的值,並沒有通過和顯示所有10.我想知道如果foreach或array_combine是原因爲了這。

編輯:

 if(!empty($highschools)){ 
       echo "<h3>High School Division</h3>"; 
       echo "<ul>"; 
       foreach(array_combine($hpictures, $highschools) as $pictures => $hschool){ 
         echo "<li><img src='$pictures'/><a href='./schoolpage.php?school=$hschool'><strong>$hschool</strong></a></li>"; 
        } 



       echo "</ul>"; 
       } 

感謝您的幫助,並希望這有助於其他人。

+0

你可以發佈更多的代碼?示例數組以及如何輸出值? – mkaatman 2013-02-15 02:37:13

+2

開始於'print_r(array_combine($ hpictures,$ highschools));' – 2013-02-15 02:37:18

+1

您確定不需要array_merge()嗎? array_combine()假設你有一個數組的鍵和一個數組值 – Scuzzy 2013-02-15 02:39:33

回答

3

不知道你的數據結構,所有我可以假設的是你可能需要array_merge()而不是array_combine()

foreach(array_merge($hpictures, $highschools) as $pictures => $hschool) 

而對於一個複雜的陣列strucure,嘗試array_merge_recursive()

foreach(array_merge_recursive($hpictures, $highschools) as $pictures => $hschool) 

差異

array_combine(array('dog','cat'),array('fred','felix')) 

會做出這樣的數組:

array('dog'=>'fred','cat'=>'felix') 

其中作爲

array_merge(array('dog','cat'),array('fred','felix')) 

會產生

array('dog','cat','fred','felix'); 
+0

我試過陣列合併,然後將圖片和文本顯示爲一個列表項。我應該合併它們,然後通過foreach循環運行THEN嗎? – 2013-02-15 02:44:30

+0

我認爲我們確實需要看到陣列的結構才能更好地理解問題。它甚至可能需要通過兩個數組進行手動迭代和分配。 – Scuzzy 2013-02-15 02:45:25

+0

array_merge工作。你能解釋一下真正的差異嗎,所以我可以更好地理解? – 2013-02-15 02:46:35