>我有一个多维数组$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,依此类推。
您也可以通过使用循环array_fill
来操作它们。
试试这个:
<?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>";
?>