我有一个多维数组$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等。
答案 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>";
?>