从三个数组创建多维数组

时间:2015-06-11 22:16:16

标签: php arrays multidimensional-array

我有三个具有相同数量项的数组,其中每个数组内和数组之间的值可以相同。

$areas
0 => 1
1 => 3
2 => 3
3 => 5

$targets
0 => 1
1 => 2
2 => 3
3 => 3

$ratings 
0 => 1
1 => 1
2 => 2
3 => 3

我想创建一个多维数组($ elements),通过访问$ areas和$ targets的值作为键来显示$ ratings的值。

Example: 
$elements[area][target] = rating
$elements[1][1] = 1
$elements[3][2] = 1
$elements[3][3] = 2
$elements[5][3] = 3

我已经尝试了很多函数来翻转和合并数组,但由于很多原因而苦苦挣扎,但主要是因为当翻转相同的值时 数组之间的项目数量不同。

任何人都可以帮我实现我的目标吗?

1 个答案:

答案 0 :(得分:0)

你真的不想使用这种结构,因为你基本上试图使用可能没有设置的数字键。所有丢失的密钥都会被填满,但你不会得到最终值(如果你很幸运,可能是一个空字符串或null)。

我建议你从不同的角度来看待这个问题,因为没有正确的解释就是用这种方式完全按照这种方式来做。

我的建议是阅读php associative arrays

在创建多维数组时,经常使用这种类型的数组。 在这个数组中,你基本上设置了key => value对,因为你可以使用字符串作为键,所以很容易创建一个有意义的数组。

$people = array(
    array(
        'firstname' => 'John',
        'surname' => 'Doe',
        'age' => 29,
        'sex' => 'Male'
        //etc...
    );
);

现在,如果你要遍历主数组,你会得到一个带有key => value对的数组,这些给你一些很好的信息,而不是跳过很多数字的箍;)

希望它有所帮助, 悉尼