通过合并值创建多维数组

时间:2012-04-03 15:24:34

标签: php codeigniter

我有一个类型的数组:

  

array(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

2 个答案:

答案 0 :(得分:1)

$data = array();

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

你的意思是?

修改

抱歉,我误解了你的问题。

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

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

编辑2:

这是一个测试代码:

<?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
        )

)

答案 1 :(得分:0)

你的意思是你想要相同的索引,然后像你一样喜欢这个孩子:

$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
));

而且,正如您对Creating multidimensional array byt merging values所说的那样,然后通过array_merge()