2010-10-12 47 views
1

我有一個數組:PHP - 複製一個數組不起作用

print_r($resultArray); 

Array 
(
    [AB34] => Array 
     (
      [a] => 13 
      [b] => 10 
      [c] => 3 
      [d] => 88 
      [e] => 73 
     ) 
    ... 
) 

而且我想這個數組複製到另一個問題:

$resArray[] = $resultArray; 
print_r($resArray); 

- >

Array 
(
    [0] => 1 
) 

所以新數組$ resArray沒有$ resultArray的內容。 需要做些什麼來解決這個問題?

最好的問候。我需要將$ resultArray複製到$ resArray(這是一個簡單的例子),因爲$ resultArray將會改變,我需要帶有索引的$ resArray中的數據,所以$ resArray [0]第一個$ resultArray ,$ resArray [1] $ resultArray的第二個完整的價值,...... 某些代碼(只有一個簡單的例子!):

$resArray[0] = $resultArray; 
... calculations on $resultArray ... 
$resArray[1] = $resultArray; 
... calculations on $resultArray ... 
$resArray[2] = $resultArray; 
... calculations on $resultArray ... 

回答

1

我只能猜測你有一個小的語法錯誤的地方。我的測試用例按預期工作:

$resultArray = array(
    'AB34' => array(
     'a' => 13, 
     'b' => 10, 
     'c' => 3, 
     'd' => 88, 
     'e' => 73 
    ) 
); 

echo '<pre>'; 
echo "Printing \$resultArray\n"; 
print_r($resultArray); 

$resArray[] = $resultArray; 
$resArray[] = $resultArray; 
$resArray[0]['AB34']['c'] = 'Penguins are neat'; 

echo "\n\nPrinting \$resArray\n"; 
print_r($resArray); 

返回

Printing $resultArray 
Array 
(
    [AB34] => Array 
     (
      [a] => 13 
      [b] => 10 
      [c] => 3 
      [d] => 88 
      [e] => 73 
     ) 

) 


Printing $resArray 
Array 
(
    [0] => Array 
     (
      [AB34] => Array 
       (
        [a] => 13 
        [b] => 10 
        [c] => Penguins are neat 
        [d] => 88 
        [e] => 73 
       ) 

     ) 

    [1] => Array 
     (
      [AB34] => Array 
       (
        [a] => 13 
        [b] => 10 
        [c] => 3 
        [d] => 88 
        [e] => 73 
       ) 

     ) 

) 
1

$resArray = $resultArray;

...也使用print_r($var, TRUE);以獲取變量的完整內容。

+1

1.一些解釋絕不會傷害// 2.這是蒂姆的代碼一個失敗,但不到風度知道爲什麼他只得到一「1」 – oezi 2010-10-12 07:55:33

+0

我更新了我的第一篇文章。我必須將幾個$ resultArray放入$ resArray中,所以我需要索引。 – Tim 2010-10-12 07:57:44

+0

Err,http://www.php.net/print_r - 第二個參數告訴它返回函數的輸出而不是打印它。 – 2010-10-12 08:02:09

1

嘗試沒有這樣的括號:

$resArray = $resultArray; 
print_r($resArray); 
+0

我更新了我的第一篇文章。我必須將幾個$ resultArray放入$ resArray中,所以我需要索引。 – Tim 2010-10-12 07:57:03