Hay un problema en el código...
Código PHP:
$para = $p.", ";
}else{
$para = " y ".$p;
}
Aqui lo que estas haciendo es decir que $para = " y ".$p. donde $p es un valor númerico y no el contenido del array.
O sea, que para que funcione has de hacer algo parecido a:
Código PHP:
$para = " y ".$paraNombre[$p];
De esta manera, el valor númerico de $p se correspondera a una posición del array nombres.
Saludos