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);