2014-10-19 62 views
-4

我有詞語的兩個列表的兩個列表在兩個陣列合併/混合的話

第一陣列

陣列

[0] =>使
[1] =>打破
[2] =>買

秒陣列

陣列

[0] =>家
[1] =>車
[2] =>自行車

,我想顯示所有可能的組合,但要確保第一個數組總是第一個字,第二個數組總是第二個字:

上述兩個數組應顯示以下列表:

使家居
使汽車
或騎自行車
休息在家
破車
破自行車
買回家
買車
團購自行車

預先感謝您。

Hi Saikios, 感謝您的回覆。

這是我這似乎非常相似,您已發佈的內容:

$list1 = array("make","break","buy"); 
$list2 = array("home","car","bike"); 

for($a=0; $a<3; $a++){ 
    for($b=0; $b<3; $b++){ 
     echo($list1[$a].$list2[$b]); 
     echo("<br />"); 
    } 
} 

只是不知道是否有更好的方法。我的兩個名單都有大約200個單詞。

+1

如果有任何問題,請告訴我們您已經嘗試了什麼。這聽起來像是作業。 – EvilZebra 2014-10-19 00:44:24

+0

不是僅僅爲2個陣列是最好的方法。 你可以在這裏閱讀about http://web.mit.edu/16.070/www/lecture/big_o.pdf尋找嵌套循環;) – Saikios 2014-10-19 02:29:52

回答

0

對於一個正確的答案,我需要知道你正在嘗試或者怎麼樣,

但是對於問題的解決辦法很簡單,只要

<?php 

$array1 = array("make", "break", "buy"); 
$array2 = array("home", "car", "bike"); 

foreach ($array1 as $i => $value) { 
    foreach ($array2 as $j => $value2) { 
     echo $value.' '.$value2.'<br />'; 
    } 
} 
?> 
0
foreach($firstarray as $f) 
{ 
    foreach($secondarray as $s) 
    { 
    echo $f.' '.$s; 
    } 
} 

爲了確保第一陣列總是我們用它作爲主要循環的第一個詞。實質上,我們遍歷每個項目,並且對於我們在數組中找到的每個項目,我們將循環遍歷第二個數組,以便爲​​第一個數組中的每個項目創建所有的字詞組合。

這個例子更有效率,因爲不需要將數組鍵從每個項目中拉出來以前選擇的答案,因此不是最有效的問題答案。

+0

雖然這段代碼可能回答這個問題,但最好包含一個解釋它做了什麼,以及爲什麼這是解決問題的最佳方法。純代碼答案的用途有限,可能會被刪除。 – MattDMo 2014-10-19 01:24:26

+0

我明顯有一個解釋 – webfish 2014-10-19 02:27:07