2014-08-29 47 views
-1

我有一些从XML文件中提取的数组。这些是PHP把几个数组放在一个由“,”分隔的数组中

$array0 = (.......) 
$array1 = (.......) 
... 
$arrayN = (.......) 

现在我需要与通过分离在它所有阵列的单个阵列 “” 作为

$masterArray = array($array0, 
        $array1, 
        ... 
        $arrayN) 

我试图

for ($i = 0; $i < N; $i++) { 
$masterArray = $masterArray + $array[$i]; 
} 

没有结果。我试过array_merge,但是这会给一个

$masterArray(......................all items of all $arrays.....) 

我该怎么做对不对?

回答

0

鉴于你有你的确切定义和你想要的程序应该是什么:

for ($i = 0; $i < N; $i++) $masterArray[] = ${'array'.$i}; 

这里就不多解释了。您在与$variable[] = <entry>;数组的新条目,您访问具有可变的变量编号的阵列,请参阅:

http://php.net/manual/en/language.variables.variable.php

+0

谢谢 - 但我得到了我的masterArray N倍所有数组。与$ i <1而不是$ i Christian 2014-08-29 16:05:59

5
for ($i = 0; $i < N; $i++) { 
    $temp = "array".$i; 
    $masterArray[$i] = ${$temp}; 
} 
0

我想你不会建立一个多维度数组:

$masterArray = array(); 
$masterArray[] = $array0; 
$masterArray[] = $array1; 
... 
$masterArray[] = $arrayN; 

这将在所有阵列作为MasterArray的元件:

$masterArray[0=>(....),1=>(....), ...]; 

然后访问它是这样的:

$arr1_key1 = $masterArray[1]['key1'] ; //$array1['key1']; 

你可以,如果你不会添加特定键值:

$masterArray['arr1'] = $array1; 
$arr1_key1 = $masterArray['arr1']['key1'] ; //$array1['key1'] 

一般read一些以获取有关如何使用数组更好的理解;)

+0

谢谢,不,我真的需要每个阵列“在”另一个“后面”。阅读是的,我喜欢。但是我也必须开始实践,否则阅读是“无为”,直到我需要知识才会被遗忘。所以我想编写一个真正的使用代码,并且必须停下来解决一个真正的问题并理解原因。但我继续阅读,毫无疑问。 – Christian 2014-08-29 16:12:32

相关问题