合并/混合两个单词列表

时间:2014-10-19 00:42:09

标签: php arrays

我在两个数组中有两个单词列表

第一个数组

  

阵列
  (
    [0] =>使
    [1] =>打破
    [2] =>买
  )

第二个数组

  

阵列
  (
    [0] =>家
    [1] =>汽车
    [2] =>自行车
  )

我希望显示所有可能的组合,但要确保第一个数组始终是第一个单词,第二个数组始终是第二个单词:

以上两个数组应显示以下列表:

  回家   制车   制造自行车
  打破家园   破车   自行车
  买家   买车
  买自行车

提前谢谢。

嗨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个单词。

2 个答案:

答案 0 :(得分: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 />';
    }
}
?>

答案 1 :(得分:0)

foreach($firstarray as $f)
{
    foreach($secondarray as $s)
    {
    echo $f.' '.$s;
    }
}

为确保第一个数组始终是第一个单词,我们将其用作主循环。本质上,我们遍历每个项目,对于我们在数组中找到的每个项目,我们然后循环遍历第二个数组,以便为​​第一个数组中的每个项目创建所有单词组合。

这个例子比以前选择的答案更有效率,因为不需要从每个项目中拉出数组键,因此不是问题的最有效答案。