Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 通过合并值创建多维数组_Php_Codeigniter - Fatal编程技术网

Php 通过合并值创建多维数组

Php 通过合并值创建多维数组,php,codeigniter,Php,Codeigniter,我有一个以下类型的数组: 数组(4){[0]=>string(1)“1”[1]=>string(1)“2”[2]=>string(1)“3”[3]=>string(1)“4”} 我需要制作一个多维数组,如下所示: $data = array( array( $id => '1' , ), array( '$id' => '2' ) ), array( '$id' => '3' ) ),

我有一个以下类型的数组:

数组(4){[0]=>string(1)“1”[1]=>string(1)“2”[2]=>string(1)“3”[3]=>string(1)“4”}

我需要制作一个多维数组,如下所示:

$data = array(
   array(
      $id => '1' ,
   ),
   array(
      '$id' => '2' 
   )
   ),
   array(
      '$id' => '3' 
   )
   ),
   array(
      '$id' => '4' 
   )
);
其中,$id具有常量值(比如6),多维数组的值是第一个数组的值

谢谢


Leron

你的意思是你想要相同的索引,然后它就像你做的那样:

$data = array(
   array(
      $id => '1' ,
   ),
   array(
      '$id' => '2' 
   )
   ),
   array(
      '$id' => '3' 
   )
   ),
   array(
      '$id' => '4' 
   )
);
那么,如何能够每次都对相同的数组索引进行数据映射呢?如果您希望将数据放在一个数组中,那么

$data = array($id => array(
1,2,3,4 // IT WILL BE HOLDED BY YOUR $id
));

而且,正如您所说的,通过合并值创建多维数组,然后通过
array\u merge()

我不确定应该使用什么来实现我在问题中发布的结果,之所以需要相同的id,是因为我将使用CodeIgniters活动记录进行插入,它需要这样的数组。正如您所说,有一个常量保存关联数组。这取决于你要做什么。如果希望多个索引具有多个值,则执行
$k=0;foreach($basearr as$key=>$valuesArray){$data[$k]=array($valuesArray);//$valuesArray将是1,2,3,4,5……1$k++;}
谢谢,简单,我希望这就是我需要的。我会尽快尝试,如果成功就接受是的,把它放在我的代码里,这正是我需要的。谢谢祝您有个美好的一天!
<?php

$firstArray = array("1", "2", "3", "4");

$data = array(); $id = '6';

for($i=0;$i<count($firstArray);++$i) {
    $data[] = array($id => $firstArray[$i]);
    // Or:
    // $data[] = array();
    // $data[$i][$id] = $firstArray[$i];
}

print_r($data);

?>
Array
(
    [0] => Array
        (
            [6] => 1
        )

    [1] => Array
        (
            [6] => 2
        )

    [2] => Array
        (
            [6] => 3
        )

    [3] => Array
        (
            [6] => 4
        )

)
$data = array(
   array(
      $id => '1' ,
   ),
   array(
      '$id' => '2' 
   )
   ),
   array(
      '$id' => '3' 
   )
   ),
   array(
      '$id' => '4' 
   )
);
$data = array($id => array(
1,2,3,4 // IT WILL BE HOLDED BY YOUR $id
));