如何在数组的每个索引处推送静态值来创建二维数组?

时间:2017-05-25 08:51:00

标签: php arrays multidimensional-array

我在php工作,我需要在现有的单维数组的每个索引处添加一个静态值,这样在添加之后它将成为多维数组。

现有的单维数组:

[checklists] => Array
(
    [0] => 20
    [1] => 50
    [2] => 35
    [3] => 23
    [4] => 24
    [5] => 21
    [6] => 22
    [7] => 27
    [8] => 25
)

要插入的静态值90

插入后的数组将如下所示:

[checklists] => Array
(
    [0] => Array(90,20)
    [1] => Array(90,50)
    [2] => Array(90,35)
    [3] => Array(90,23)
    [4] => Array(90,24)
    [5] => Array(90,21)
    [6] => Array(90,22)
    [7] => Array(90,27)
    [8] => Array(90,25)
)

我想知道有没有 php内置函数通过它我可以实现这个或者我应该使用循环吗?

4 个答案:

答案 0 :(得分:3)

你可以使用array_map,$ static是你的90,$ array是你的数组。

$array['checklists'] = array_map(function($v) use($static){
  return [$static, $v];
}, $array['checklists']);

演示:https://3v4l.org/3ugLR

答案 1 :(得分:3)

这里我们使用array_map来实现所需的输出。

解决方案1:

Try this code snippet here

$staticValue=90;
$array["checklists"]=  array_map(function($value) use ($staticValue){
    return array($staticValue,$value);
}, $array["checklists"]);
print_r($array);

解决方案2: try this simplest one

$staticValue=90;
foreach($array as &$value)
{
    $value=array($staticValue,$value);
}
print_r($array);

答案 2 :(得分:1)

要修改数组,可以使用array_walk

int

答案 3 :(得分:-1)

你可以更轻松地做到这一点。

$array = array();

$array['checklist'][] = array(90, 20);
$array['checklist'][] = array(90, 50);