将列添加到PHP 2D阵列

I have a 2D array as illustrated below:

|1|2|3|
|4|5|6|

I'm trying to prepend a column to it as illustrated below:

|X|1|2|3|
|X|4|5|6|

Using array_unshift will cause the elements to become shuffled and I need them to be retained. I also tried array_merge as well as "adding" the new column with the existing array.

I'm wondering what's the best way to accomplish this?

Posting it from comments. Try this one. LINK

    $arr = array(
        array(1,2,3),
        array(4,5,6)
    );

    foreach($arr as $k => $v){
        array_unshift($arr[$k],"X");
    }
    print_r($arr);

You can use array_map and array_push like as

$arr = [[1, 2, 3], [4, 5, 6]];
$result = array_map(function($v, $a) {
    $v = array_merge([$a],$v);
    return $v;
}, $arr, ['X', 'X']);

print_r($result);

Demo