Yo te recomendaría hacerlo algo mas legible...
var post_data = {
'sel':{
'nb': $('#nb').val(),
'ap': $('#ap').val(),
'pw1': $('#pw1').val(),
'pw2': $('#pw2').val(),
'cr': $('#cr').val(),
'cd': $('#cd').val(),
'genero': $('#genero').val(),
'algo': 0,
},
};
$.get('verificar.php', post_data , function(data){
console.log(data);
});
Asi no tienes que depender del orden de lo que envias para recoger sus valores en PHP. Lo digo porque si cambias el orden por ejemplo de nb y ap,
$_GET['sel'][0] te daría el valor de ap. En cambio, poniendo los keys, te aseguras que siempre puedes obtener el valor necesario.
<?php
echo $_GET['sel']['nb'];
}
Y ya de paso, si vas a enviar tantos parámetros, te recomendaría hacerlo por post. Y mucho más si pw1 y pw2 tienen los valores que creo que tienen (contraseñas)...
$.post('verificar.php', post_data , function(data){
Saludos