2015-05-04 106 views
1

我有一個數組...循環通過陣列中的陣列和輸出值一起PHP

array (size=2) 
    'prd' => 
    array (size=8) 
     0 => string '1' (length=1) 
     1 => string '2' (length=1) 
     2 => string '3' (length=1) 
     3 => string '4' (length=1) 
     4 => string '5' (length=1) 
     5 => string '6' (length=1) 
     6 => string '7' (length=1) 
     7 => string '8' (length=1) 
    'price' => 
    array (size=8) 
     0 => string 'a' (length=1) 
     1 => string 'b' (length=1) 
     2 => string 'c' (length=1) 
     3 => string 'd' (length=1) 
     4 => string 'e' (length=1) 
     5 => string 'f' (length=1) 
     6 => string 'g' (length=1) 
     7 => string 'h' (length=1) 

我想要的輸出看起來像這樣...

1花費,2個成本B, 3個成本C,4收費d,5成本E,6成本樓7費克,8開銷H

到目前爲止我曾嘗試以下...

foreach ($array as $values) { 

    foreach ($values as $val) { 
     echo $val; 
    } 

} 

這給了我的陣列,以...

12345678abcdefgh

我如何得到它的輸出

1a2b3c4d5e6f7g8h

我能處理的格式,只是順序掙扎。

+0

它是一個單一的陣列或兩個不同的陣列?如果它是單數組,那麼總是隻有兩個你想要在鍵值組合中合併的索引? –

+0

array('prd'=> array(),'price'=> array()) – Alex49

回答

4

有幾種方法,這裏有兩個。

使用環形陣列的關鍵訪問其他:

foreach($array['prd'] as $key => $val) { 
    echo $val . $array['price'][$key]; 
} 

結合成鍵和值:

$array = array_combine($array['prd'], $array['price']); 

foreach($array as $key => $val) { 
    echo $key . $val; 
} 
+0

array_combine就是這裏的樣子,+1 –

+0

這樣做完美,謝謝! – Alex49

2

試試這個

$data = array (
    'prd' => array (
     0 => '1', 
     1 => '2', 
     2 => '3', 
     3 => '4', 
     4 => '5', 
     5 => '6', 
     6 => '7', 
     7 => '8', 
    ), 
    'price' => array (
     0 => 'a', 
     1 => 'b', 
     2 => 'c', 
     3 => 'd', 
     4 => 'e', 
     5 => 'f', 
     6 => 'g', 
     7 => 'h', 
    ) 
); 

for ($x = 0; $x< count($data['prd']); $x++) { 
    echo $data['prd'][$x] . " costs " . $data['price'][$x] . PHP_EOL; 
} 
+0

這工作真棒,謝謝 – Alex49