所以我有幾個關聯的數組長度和關聯相等,需要對它們進行比較。如果第一個數組中的投票鍵有一個值,我需要用相同的值更新第二個數組中的投票鍵值。比較兩個關聯的數組,並根據比較結果更新一個
// 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