到目前为止,我有一个多维数组results
foreach ($votes as $vote) {
$choices = array();
Foreach ($vote->getVoteChoicesOrdered() as $choice) {
array_push($choices, $choice->getAnswer()->getID());
}
array_push($results, $choices);
}
稍后,我想删除结果中每个选项的第一个元素并将位置向上移动(因此,如果需要,我可以删除[0]处的下一个元素)
foreach ($results as $res) {
if (in_array(array_values($res)[0], $losers)) {
$shiftedRes = array_shift($res);
}
}
$losers
是一个数组键数组
既然我已经移位了数组,我将如何用新的$result
替换当前的$shiftedRes
元素?像$results[key($res)] = $shiftedRes
?
答案 0 :(得分:1)
不是从$ res数组转移,而是直接从$ results数组中进行。
foreach (array_keys($results) as $key)
{
if (in_array(array_values($results[$key])[0], $losers))
{
$shiftedRes = array_shift($results[$key]);
}
}