连接两个数组之间的所有元素组合

问题描述 投票:0回答:1

假设我有两个数组:

$arr1 = array("a","b","c");
$arr2 = array("1","2","3");

function multiply_arrays($arr1,$arr2){
    //what is the best way to do that in terms of speed and memory
    return $arr3;
}

组合两个数组中的值的所有组合的最佳方法是什么?

结果应该是一个具有以下值的数组:

[
    'a1',
    'a2',
    'a3',
    'b1',
    'b2',
    'b3',
    'c1',
    'c2',
    'c3',
]

我不想面对这样的错误:

Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 39 bytes)
php arrays optimization out-of-memory combinations
1个回答
8
投票

一个简单的嵌套循环?

function multiply_arrays(array $arr1, array $arr2) {
  $ret = array();
  foreach ($arr1 as $v1) {
    foreach ($arr2 as $v2) {
      $ret[] = $v1 . $v2;
    }
  }
  return $ret;
}

我假设根据你的例子你的意思是字符串连接。如果不是,最里面的线就会与预期的结果不同。

© www.soinside.com 2019 - 2024. All rights reserved.