SYNOPSIS

mixed copy( mixed value)

DESCRIPTION

Create a shallow copy of value and return it. For arrays and mappings this means that a new array or mapping is created with copies of the original content. Embedded arrays and mappings are copied by reference!

For other values this function is a no-op.

USAGE

Because the example below uses a shallow copy, modifications to the nested array are visible in both copies:

mixed *a, *b;

a = ({ 1, ({ 21, 22 }) });
b = copy(a);
a[0] = -1;
a[1][0] = -21;

// a is now ({ -1, ({ -21, 22 }) })
// b is now ({  1, ({ -21, 22 }) })

HISTORY

  • introduced (3.2.6)

SEE ALSO

deep_copy(E)