2013-07-09 187 views
0

由於數組循環,我被困在自學PHP中。PHP:循環兩個陣列

比方說,我有兩個arrays,相同數量的元素:

$description 
: array = 
    0: string = Name 
    1: string = LastName 
    2: string = Address 
    3: string = City 
    4: string = Country 

$value 
: array = 
    0: string = Dan 
    1: string = Smith 
    2: string = 4, Burlington St 
    3: string = London 
    4: string = England 

我應該怎麼做才能打印以下? :

名稱:
名字:史密斯
地址:4,伯靈頓聖
市:倫敦
國家:英格蘭

+3

既然你學習,這是一個偉大的時間來學習PHP的關聯數組處理更適合於像'陣列(「名」 =>「丹」,「姓氏」 =''Smith','Address'=>'...',....)' –

回答

5

您可以使用array_combine這兩個數組合併成一個:

$c = array_combine($description, $value); 
foreach ($c as $key => $value) { 
    echo $key . ": " . $value; 
} 
0

嘗試

for ($i = 0; $i < count($description); $i++) { 
    echo $description[$i] . ': '.$value[$i] . '<br/>'; 
} 
0

嘗試像

$new_arr = array(); 
for(int i=0;i<count($description);$i++) { 
    $new_arr[$description] = $value; 
} 

現在

foreach($new_arr as $key => $val) { 
    echo $key . ':' .$val.'<br>'; 
} 
1

選項#1:

foreach($description as $key => $descText) { 
    echo $descText, ': ', $value[$key], PHP_EOL; 
} 

選項#2

$mi = new MultipleIterator(); 
$mi->attachIterator(new ArrayIterator($description)); 
$mi->attachIterator(new ArrayIterator($values)); 
foreach($mi as $detail) { 
    list($descText, $descValue) = $detail; 
    echo $descText, ': ', $descValue, PHP_EOL; 
} 
+0

#2很不錯,但有點像使用大炮 –

+0

拍攝飛行固定 - 雖然它是大錘,原則上我仍然喜歡MultipleIterators,尤其是在處理不匹配的索引時(我不知道這裏是這種情況) –