How to clone a two-dimensional array in PHP

3 Answers

0 votes
$Array2D = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9, 10]
];

$clonedArray = array_map('array_slice', $Array2D, array_fill(0, count($Array2D), 0));

print_r($clonedArray);

 
 
/*
run:
 
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
            [3] => 10
        )
)
 
*/

 



answered Mar 7, 2025 by avibootz
0 votes
$Array2D = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9, 10]
];

$clonedArray = [];
foreach ($Array2D as $subArray) {
    $clonedArray[] = $subArray;
}

print_r($clonedArray);

 
 
/*
run:
 
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
            [3] => 10
        )
)
 
*/

 



answered Mar 7, 2025 by avibootz
0 votes
$Array2D = [
    [1, 2, 3],
    [4, 5, 6],
    [7, 8, 9, 10]
];

$clonedArray = array_map(function($subArray) {
    return array_merge([], $subArray);
}, $Array2D);

print_r($clonedArray);

 
 
/*
run:
 
Array
(
    [0] => Array
        (
            [0] => 1
            [1] => 2
            [2] => 3
        )

    [1] => Array
        (
            [0] => 4
            [1] => 5
            [2] => 6
        )

    [2] => Array
        (
            [0] => 7
            [1] => 8
            [2] => 9
            [3] => 10
        )
)
 
*/

 



answered Mar 7, 2025 by avibootz

Related questions

1 answer 171 views
3 answers 271 views
1 answer 157 views
1 answer 180 views
1 answer 203 views
203 views asked Mar 8, 2025 by avibootz
3 answers 278 views
3 answers 272 views
...