从其他数组填充多维数组



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

相关内容

  • 没有找到相关文章

最新更新