Ma certo che funzionano, vuoi che print_r() non stampi niente?
Ti ho chiesto di guardare COSA viene stampato da print_r($_POST['numero']), non se print_r($_POST['numero']) stampa qualcosa.
Ti accorgerai che stampa un array, quindi $_POST['numero'] è un array (nota bene, non $_POST, ma $_POST['numero']), non sarà mai né un numero, né una stringa, né altro, è un array.