PHP - 复制数组不起作用

时间:2010-10-12 07:51:33

标签: php arrays copy

我有一个数组:

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 ...

3 个答案:

答案 0 :(得分:1)

$resArray = $resultArray;

...也使用print_r($var, TRUE);来获取变量的全部内容。

答案 1 :(得分:1)

尝试没有这样的括号:

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

答案 2 :(得分: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
                )

        )

)