2013-12-07 69 views
1

我需要組合數組並獲得單獨的值,但是每個數組都包含foreach值。如何組合2個foreach循環

可能嗎?

這是我的起點:

$colors = array('foo' => 'bar', 'bar' => 'foo'); 
$urls = array('url' => 'url.html', 'url' => 'url2.html'); 

foreach ($colors as $color) { 
foreach ($urls as $url) { 
    echo '<div class="'.$color.'"><a href="'.$url.'>'.$color.'</a>'; 
} 
} 

這是我的顏色和URL,施工源在陣列中的數據,我想單獨呼應它:

$colors = array(5) { [555]=> 
     string(6) "Color1" 
     [23]=> 
     string(6) "Color2" 
     [564]=> 
     string(6) "Color2" 
     [585]=> 
     string(6) "Color2" 
     [879]=> 
     string(6) "Color3" 
    } 

    $urls = array(5) { 
     [2327]=> 
      array(11) { 
      ["path"]=> 
      string(66) "/home/root/dev/file.png" 
      } 
     [2328]=> 
     array(11) { 
      ["path"]=> 
      string(66) "/home/root/dev/file.png" 
      } 
     [2329]=> 
     array(11) { 
      ["path"]=> 
      string(66) "/home/root/dev/file.png" 
      } 
     [2330]=> 
     array(11) { 
      ["path"]=> 
      string(66) "/home/root/dev/file.png" 
      } 
     [2331]=> 
     array(11) { 
      ["path"]=> 
      string(66) "/home/root/dev/file.png" 
      } 
     } 
+0

看起來合法。如果這不起作用,請告訴我們預期的輸出 – Popnoodles

+0

'$ urls'只有一個值,'url2.html' – Maerlyn

+0

我創建了一個例子,也許我想念第二個url。我已經用更準確的細節更新了這個問題。 – Dario

回答

0

您必須更換每個$ url的關鍵「url」到與該顏色對應的關鍵字。 然後在你的第一個foreach循環中,執行此操作:

foreach ($colors as $key => $color) { 
    echo '<div class="'.$color.'"><a href="'.$urls[$key].'>'.$color.'</a>'; 
} 
+0

我說你必須改變鍵;) –

+0

那麼,你解決了你的問題? –