来自两个数组的对象数组

时间:2019-02-16 18:16:21

标签: php

如果我有以下数组

$arr = [4,7,8];
$var = 3

,并且需要使用PHP函数和运算符或对大型数组采用最有效方式的以下结果。

$result = [
 [3,4],
 [3,7],
 [3,8]
]

4 个答案:

答案 0 :(得分:0)

尝试一下:

<?php

$arr = [4, 7, 8];
$var = 3;

$result = array_map(
    function ($itm) use ($var) {
        return [$var, $itm];
    },
    $arr
);

更新:我已经检查了它。因此,与使用foreach的变体

相比,我的变体在变慢的两倍

答案 1 :(得分:0)

了解性能,但请使用基本的轻量级版本。

$arr = [4,7,8];
$var = 3;

$result = [];

// 
for($i = 0; $i < sizeof($arr); $i++)
{
  $result[$i] = [$var, $arr[$i]];
}

答案 2 :(得分:0)

我的方法如下

$col1 = array_pad($vals,sizeof($arr),$var); // [3,3,3]
$result = array_map(null,$col1,$arr); 

答案 3 :(得分:0)

<?php

$arr = [4,7,8];
$var = 3;

foreach($arr as $v)
    $out[]=[$var, $v];

var_export($out);

输出:

array (
0 => 
array (
    0 => 3,
    1 => 4,
),
1 => 
array (
    0 => 3,
    1 => 7,
),
2 => 
array (
    0 => 3,
    1 => 8,
),
)