从其他数组

时间:2015-06-12 06:06:12

标签: php arrays multidimensional-array

我有一个多维数组$elements,我需要用数组$ratings填充它。构建数组$ratings,因此第一个值将适合元素的第一个槽,第二个值适合第二个槽,依此类推。

$elements
4 => array:3 [▼
  2 => 0
  3 => 0
  4 => 0
]

5 => array:3 [▼
  2 => 0
  3 => 0
  4 => 0
]

7 => array:3 [▼
  2 => 0
  3 => 0
  4 => 0
]

我现在需要使用

中的9个特定值填充$elements
$ratings
array:9 [▼
0 => 3
1 => 2
2 => 1
3 => 3
4 => 3
5 => 2
6 => 3
7 => 2
8 => 1
9 => 3
]

如果我设法循环遍历$elements,逐个插入$ratings的值,我就会解决我的问题。

因此$elements[4][2]的值应为3,$elements[4][3]的值应为2等。

2 个答案:

答案 0 :(得分:1)

您也可以使用循环array_fill来操纵这些。

答案 1 :(得分:0)

试试这个:

<?php
$elements = [ 
    4=>[2=>0, 3=>0, 4=>0],
    5=>[2=>0, 3=>0, 4=>0],
    7=>[2=>0, 3=>0, 4=>0],
];

$ratings = [ 0 => 3, 1 => 2, 2 => 1, 3 => 3, 4 => 3, 5 => 2, 6 => 3, 7 => 2, 8 => 1, 9 => 3 ];

$ratingsIndex = 0;
foreach(array_keys($elements) as $ElementsIndex) {
    foreach(array_keys($elements[$ElementsIndex]) as $ElementsSubIndex) {
        $elements[$ElementsIndex][$ElementsSubIndex] = $ratings[$ratingsIndex++];
    }
}

echo "<pre>";
print_r($elements);
echo "</pre>";
?>