2012-04-03 64 views
0

我有类型的数组:创建多维阵列BYT合并值

阵列(4){[0] =>串(1)为 “1”[1] =>串(1)“ 2" [2] =>串(1) “3”[3] =>串(1) “4”}

我需要做一个多维阵列是这样的:

$data = array(
    array(
     $id => '1' , 
    ), 
    array(
     '$id' => '2' 
    ) 
    ), 
    array(
     '$id' => '3' 
    ) 
    ), 
    array(
     '$id' => '4' 
    ) 
); 

其中$ id具有常数值(比方说6),多维数组的值是第一个值阵列。

感谢

Leron

回答

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:

这里是一个testcode:

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

) 
+0

感谢,简单,我希望这是我需要的。要尽快尝试,并接受它是否可行 – Leron 2012-04-03 15:34:21

+0

是的,只需将它放在我的代码中,正是我需要的。谢谢!祝你今天愉快! – Leron 2012-04-03 15:45:38

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

+0

我不知道我应该用什么来实现我在我的问题中发布的结果,因为要使用相同的ID是因为我要使用它来使用CodeIgniter活动记录进行插入,并且它需要这样的数组。 – Leron 2012-04-03 15:33:23

+0

正如你所说的那样,常数可以保持关联数组。这取决于你要做什么。如果你想要多个索引有多个值,那么执行'$ k = 0; foreach($ basearr as $ key => $ valuesArray){ $ data [$ k] = array($ valuesArray); // $ valuesArray会是1,2,3,4,5。 ..... 1 $ k ++; }' – 2012-04-03 15:40:55