If i have the following array
$arr = [4,7,8];
$var = 3
and need the following result using PHP functions and operators or most efficient way for large arrays.
$result = [
[3,4],
[3,7],
[3,8]
]
My way is the following
$col1 = array_pad($vals,sizeof($arr),$var); // [3,3,3]
$result = array_map(null,$col1,$arr);
Try it:
<?php
$arr = [4, 7, 8];
$var = 3;
$result = array_map(
function ($itm) use ($var) {
return [$var, $itm];
},
$arr
);
UPDATE: I've checked it. So my variant is slower in two time than the variant with foreach
Idk about performance, but use basic maybe lightweight.
$arr = [4,7,8];
$var = 3;
$result = [];
//
for($i = 0; $i < sizeof($arr); $i++)
{
$result[$i] = [$var, $arr[$i]];
}
<?php
$arr = [4,7,8];
$var = 3;
foreach($arr as $v)
$out[]=[$var, $v];
var_export($out);
Output:
array (
0 =>
array (
0 => 3,
1 => 4,
),
1 =>
array (
0 => 3,
1 => 7,
),
2 =>
array (
0 => 3,
1 => 8,
),
)