简体   繁体   English

来自两个数组的对象数组

[英]Array of objects from two arrays

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. 并需要使用PHP函数和运算符或对大型数组采用最有效方式的以下结果。

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

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 所以我的变体比带有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]];
}

My way is the following 我的方法如下

$col1 = array_pad($vals,sizeof($arr),$var); // [3,3,3]
$result = array_map(null,$col1,$arr); 
<?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,
),
)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM