es un problema de sobre-escritura. prueba ahora
Cita: $status = ( isset( $_REQUEST['status'] ) ) ? $_REQUEST['status'] : null;
$updated_users = array();
$request_users = array();
foreach ( $_REQUEST['user'] as $single_user ) :
array_push( $request_users, $single_user );
endforeach;
foreach ( $notes as $key => $value ) :
for ($i = 0; $i < sizeof($request_users); $i++) :
if ( $value['user'] == $request_users[$i] ) :
if ( $status == 'approved' || $status == 'pending' ) :
$update_user = array(
$key => array(
'user' => $request_users[$i],
'status' => $status,
),
);
break;
elseif ( $status == 'disapprove' ) :
$update_user = array();
endif;
else :
$update_user = array(
$key => array(
'user' => $value['user'],
'status' => $value['status'],
),
);
endif;
endfor;
$updated_users = array_merge( $updated_users, array_slice( $update_user, -1 ) );
endforeach;
pd: Alexis88 me ha gustado la consulta desconectada