2012-03-28 68 views
0

我怎样才能转换等
如何2 d阵列1个d数组转换在PHP

Array 
(
    [0] => A 
    [1] => B 
    [2] => C 
    [3] => D 
    [4] => E 
    [5] => F 
) 

数组

Array 
    (
     A 
     B 
     C 
     D 
     E 
     F 
    ) 

我试图使用的foreach密钥值和分配值,以新的数组,但即使是新的阵列将在2D形式

+3

这个问题没有意义。你将永远有你的阵列的键。 – Napolux 2012-03-28 08:05:16

+1

这里的基本错误是假设这个数组为二维。 – 2012-03-28 08:06:37

+0

最接近你想要的是一个字符串,我猜。所以只需'implode('',$ array)'数组。尽管如此,你仍然可以通过$ string [0] => A访问它。 – SJFrK 2012-03-28 08:09:28

回答

2

你或许应该考虑什么二维数组:

一维数组:

Array 
(
    [0] => A 
    [1] => B 
    [2] => C 
    [3] => D 
    [4] => E 
    [5] => F 
) 

1D关联数组:

Array 
(
    [foo] => A 
    [bar] => B 
    [moreFoo] => C 
    [someElse] => D 
) 

2D阵列:

Array 
(
    [0] => Array 
    (
     [0] => A 
     [1] => B 
     [2] => C 
     [3] => D 
     [4] => E 
     [5] => F 
    ) 
    [1] => Array 
    (
     [0] => A 
     [1] => B 
     [2] => C 
     [3] => D 
     [4] => E 
     [5] => F 
    ) 
    [2] => Array 
    (
     [0] => A 
     [1] => B 
     [2] => C 
     [3] => D 
     [4] => E 
     [5] => F 
    ) 
) 

2D关联数组:

Array 
(
    [foo] => Array 
    (
     [foo] => A 
     [bar] => B 
     [moreFoo] => C 
     [someElse] => D 
    ) 
    [name] => Array 
    (
     [foo] => A 
     [bar] => B 
     [moreFoo] => C 
     [someElse] => D 
    ) 
    [thirdElement] => Array 
    (
     [foo] => A 
     [bar] => B 
     [moreFoo] => C 
     [someElse] => D 
    ) 
) 
+0

这里没有真正的php代码答案,只是对各种数组类型的解释。 – emeraldjava 2013-12-19 13:18:44

0

你的问题没有任何意义......如果你有这个“扁平”阵列,你将如何解决,例如它的第三个元素?

同样如@Shiplu在评论中提及,则作为一个例子使用数组已经是一个1-d阵列,2- d的阵列在

$array['level1']['level2'] = 'value'; 
0

在PHP所有阵列具有键的形式,无论您在创建阵列时是否分配它们。该指数从0开始,所以你会获得一种例如使用0,B使用1等

3

这不是一个二维数组的开始。它是一个1d数组... PHP中的所有数组都包含键/值对。所以

array('A','B') 

是一维数组与值A和B中,向其中键被自动分配(0和1)为阵列中的他们的偏移位置。

一个二维数组会像

array(array('A','B') 
     array('C','D') 
    ) 
+0

显示的[0],[1],...是键或索引,而不是值。他们在同一个维度。 http://ideone.com/5eVJM1 – PaulH 2015-09-03 07:20:22

+0

@PaulH - 我在这个答案的任何地方说0和1是值吗?我特别说他们是钥匙:'哪些钥匙被自动分配(0和1)' – 2015-09-03 07:23:32

+0

你说的是完全正确的。我给了它+1。我只是想为新手添加一些信息,比如GoodSp33d早在2012年 – PaulH 2015-09-04 19:16:18

0

如果我正确理解你的问题,你要转换的未分类的索引数组类似东西:

array (
    [2] => A, 
    [5] => B, 
    [8] => C, 
    ["x"] => D, 
    ["v"] => E, 
    [0] => F 
); 

array (
    A, 
    B, 
    C, 
    D, 
    E, 
    F 
); 

如果是这种情况,那么使用t他array_values功能。

$arr = array_values($arr);