所以我有几个关联的数组长度和关联相等,需要对它们进行比较。如果第一个数组中的投票键有一个值,我需要用相同的值更新第二个数组中的投票键值。比较两个关联的数组,并根据比较结果更新一个
// create the arrays...
$votes_array = [];
array_push($votes_array, array(
'id' => '1',
'voted' => '-1'
)
);
array_push($votes_array, array(
'id' => '1',
'voted' => ''
)
);
$menu_array = [];
array_push($menu_array, array(
'id' => '1',
'voted' => ''
)
);
array_push($menu_array, array(
'id' => '1',
'voted' => ''
)
);
我试过这个,但是甚至无法得到结果来回显真实。
foreach ($votes_array as $votes_array_key => $votes_array_value) {
foreach ($menu_array as $menu_array_key => $menu_array_value) {
if($votes_array_key == 'voted' && ($votes_array_value == '1' || $votes_array_value == '-1')){
echo 'true';
// Update the $menu_array array index with the associated 'voted' value.
}
}
}
所以它最终会以$ menu_array [0] ['voted']为'-1'结束。
我该如何做到这一点?
谢谢。
编辑: 我也修改了接受的答案,以迎合当votes_array的长度变化时。
foreach($votes_array as $votes_key => $votes_vote) {
if(! $votes_vote['voted'])
{
continue;
}
else
{
$getVoteId = $votes_array[$votes_key]['id'];
foreach($menu_array as $menu_key => $menu_vote)
{
if($menu_array[$menu_key]['id'] == $getVoteId)
$menu_array[$menu_key]['voted'] = $votes_vote['voted'];
}
}
}
添加条件'if value ==“”'。代码看起来很好,我认为你的数组里没有'voted = 1'。 – soyuka