Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433

    verificare se intero e numerico

    ciao

    ho ricercato all' interno del forum ed ho trovato una disc. similie, solo che chissa' perche' a me la soluzione proposta non va bene!!!

    devo verificare se un campo e' numerico e intero.

    allora ho provato con
    Codice PHP:
    if(!is_int($periodi)){$er=1;echo"<font color=red>Il campo 'periodi' non e' un numero intero!
    </font>"
    ;} 
    sia nel caso che inserisco una stringa "ss" o un numero 55 mi da sempre il mex di errore !!!

    is_numeric non mi va bene perche' i decimali li prende come numeri (ovviamente) ma per me deve la varibile $periodi puo' avere solo numeri interi!!

    come cribbio si fa'?? perche' non funziona is_int??
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  2. #2
    Perchè devi usare prima di tutto is_numeric per sapere se è un numero, poi puoi usare (intval($variabile)==floatval($variabile)) per sapere se è un numero intero...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    se scrivo
    Codice PHP:
    if(is_numeric($periodi)){
    if(
    intval($periodi)!=floatval($periodi)){echo"non intero
    "
    ;}
    }else echo
    "Non numero
    "

    il controllo funziona....

    se invece scrivo
    Codice PHP:
    if(is_numeric($periodi)){
    if(!
    is_int($periodi)){echo"non intero
    "
    ;}
    }else echo
    "Non numero
    "

    il controllo NON funziona....

    ma allora la funzione is_int a che serve se non funziona!!!!

    mah


    grazie
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

  4. #4
    La funzione is_int serve a sapere se la VARIABILE è di tipo integer, non se il valore è di tipo integer.

    Mi spiego meglio: se scrivo:

    $a=1;
    $b=float(1);

    e poi uso is_int, secondo il tuo ragionamento dovrebbe darmi vero in entrambi i casi, invece:

    is_int($a) => vero
    is_int($b) => falso

    perchè quello che analizza è il tipo di variabile, non il valore che c'è dentro...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    433
    direi che sei stato cristallino


    grazie
    Donerò loro dei fiori... poiché... sotto le nuvole... tutto è così rozzo e sporco

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.