Is there a function to make a copy of a PHP array to another?

Viewed 514665

Is there a function to make a copy of a PHP array to another?

I have been burned a few times trying to copy PHP arrays. I want to copy an array defined inside an object to a global outside it.

19 Answers

Creates a copy of the ArrayObject

<?php
// Array of available fruits
$fruits = array("lemons" => 1, "oranges" => 4, "bananas" => 5, "apples" => 10);

$fruitsArrayObject = new ArrayObject($fruits);
$fruitsArrayObject['pears'] = 4;

// create a copy of the array
$copy = $fruitsArrayObject->getArrayCopy();
print_r($copy);

?>

from https://www.php.net/manual/en/arrayobject.getarraycopy.php

$arr_one_copy = array_combine(array_keys($arr_one), $arr_one);

Just to post one more solution ;)

foreach($a as $key => $val) $b[$key] = $val ;

Preserves both key and values. Array 'a' is an exact copy of array 'b'

Related