Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228

    Info sulla funzione is_numeric()

    Ciao a tutti!
    è più una curiosità che un problema (ho risolto usando le espressioni regolari, vedi in fondo).

    Ho un form con un solo input, e tutto ciò che voglio è che sia numerico.
    Se ci sono solo numeri tutto funziona (is_numeric(3) ritorna TRUE), se ci sono numeri e lettere anche (is_numeric(5bah) e is_numeric(5/u) ritornano FALSE).
    Se invece gli passo dei numeri e dei segni di punteggiatura, la funzione mi ritorna NULL. (es. is_numeric(7/) oppure is_numeric(4*) ritornano "").

    Perché questa cosa?

    Inoltre, tutto questo mi succede in un if:
    codice:
    if(/*una serie di condizioni ...&&*/is_numeric($var))/*... altre millemila condizioni*/){}
    e se $var=6&5 ad esempio il controllo delle condizioni si interrompe (quando is_numeric ritorna NULL l'if ignora tutte le condizioni successive)... perchè?



    _____
    Questo è il modo corretto con le espressioni regolari, se servisse a qualcuno.
    codice:
    $res=preg_replace("/[^0-9]*/","",$var);

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Io se provo a fare
    var_dump(is_numeric(7/));
    oppure
    var_dump(is_numeric(7*));

    ottengo
    Parse error: syntax error, unexpected ')' in C:\xampp\htdocs\prova.php on line 2

    non NULL, mentre se faccio
    var_dump(is_numeric('7/'));
    oppure
    var_dump(is_numeric('7*'));

    ottengo correttamente bool(false)

    come fai a dire che tu ottieni NULL?

    Anche perché se leggi la documentazione di is_numeric() vedrai che ritorna TRUE o FALSE, in nessun caso ritorna NULL.

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2013
    Messaggi
    228
    Si. Non so cosa stessi facendo ieri. xD

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.