array(2) { [0]=> string(3) "bot" [1]=> string(5) "sysop" } array(2) { [0]=> string(3) "bot" [1]=> string(5) "sysop" } array(0) { } FROM $addedGroups = array(); if ( $wasSysop ) { $dbw->delete( 'user_groups', array( 'ug_user' => $id, 'ug_group' => 'sysop', ), 'DesysopForm::doSubmit' ); $addedgroups[] = "sysop"; } elseif ( !$wasSysop ) { $this->showFail( 'not_sysop' ); return; } $wgMemc->delete( "$dbName:user:id:$id" ); //array_diff does the trick. $newGroups = array_diff($oldGroups, $addedGroups); var_dump($oldGroups); var_dump($newGroups); var_dump($addedGroups);