2009-09-16 104 views
1

可以說我有兩個數組在php中乘數組的最佳方式是什麼?

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

謝謝

+1

在數學上它被稱爲張量積,但我不記得OP詢問的編程術語。 – 2009-09-16 02:23:50

回答

8

一個簡單的嵌套循環?

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

我假設根據你的例子你的意思是字符串連接。如果不是,最內層的線條只是變化到預期的結果。

+1

+1看起來像解決方案。這種代碼可能不會達到內存限制。只有當你的陣列像數百萬或數十億個元素時。 – mauris 2009-09-16 02:23:57

相關問題