【问题标题】:what is the best way to multiply arrays in php?在php中乘以数组的最佳方法是什么?
【发布时间】:2010-11-28 16:05:45
【问题描述】:

假设我有两个数组

   <?PHP
        $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)

谢谢

【问题讨论】:

  • 在数学上它被称为张量积,但我不记得 OP 所询问的编程术语。

标签: php arrays optimization


【解决方案1】:

一个简单的嵌套循环?

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

根据您的示例,我假设您的意思是字符串连接。如果没有,最里面的几行只是根据预期的结果而变化。

【讨论】:

  • +1 看起来像解决方案。这种代码可能不会达到内存限制。仅当您的数组包含数百万或数十亿个元素时。
猜你喜欢
  • 2020-09-13
  • 2021-12-13
  • 2010-12-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-04-23
相关资源
最近更新 更多