【问题标题】:foreach two arrays when one is twice bigger than second当一个数组比第二个大两倍时,foreach 两个数组
【发布时间】:2012-12-20 17:17:26
【问题描述】:

好的,所以我有两个数组,第二个总是比第一个大两倍:

$items1 = array('1', '2', '3');
$items2 = array('a', 'b', 'c', 'd', 'e', 'f');

我知道我可以 foreach 两个具有相同项目计数的数组,如下所示:

foreach ($items1 as $key => $item1)
{
echo $item1 . $items2[$key] . ', ';
}

这将给出如下结果:1a, 2b, 3c.... 但是如何对这两个数组进行 foreach 以获得如下结果: 1ab、2cd、3ef? 也就是回显 $items1 数组中的第一项,然后是 $items2 中的两项。

【问题讨论】:

    标签: php arrays foreach


    【解决方案1】:
    foreach (array_combine($items1, array_chunk($items2, 2)) as $key => $value) {
      echo $key.implode($value)."\n";
    }
    

    【讨论】:

    • 很棒的解决方案,但是其他答案更适合我的情况。无论如何谢谢:)
    • 很漂亮,但很难理解。记住孩子们:尽量对你的程序员伙伴放轻松。他们会因此而爱你。承诺。
    【解决方案2】:

    你可以写:

    foreach ($items1 as $i => $item1)
    {
        echo $item1 . $items2[$i * 2] . $items2[$i * 2 + 1] . ', ';
    }
    

    【讨论】:

    • 我可能会将结果放入一个数组中,因为你会有那个尾随逗号。否则 +1。
    猜你喜欢
    • 1970-01-01
    • 2012-03-31
    • 2016-02-21
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-19
    相关资源
    最近更新 更多