quando si confronta una variabile come $_SESSION['valore'] con un intero
esempio
if ($_SESSION['valore'] == 1)
conviene mettere il controllo === invece di == ?
quando si confronta una variabile come $_SESSION['valore'] con un intero
esempio
if ($_SESSION['valore'] == 1)
conviene mettere il controllo === invece di == ?
http://www.php.net/manual/it/languag...comparison.phpOriginariamente inviato da meganoide
quando si confronta una variabile come $_SESSION['valore'] con un intero
esempio
if ($_SESSION['valore'] == 1)
conviene mettere il controllo === invece di == ?
== 1 significa che il tipo potrebbe essere diverso, per esempio 1 numerico oppure stringa ma sempre 1.
codice:$uno = 1; // numerico if(1 == $uno) echo "1 NUMERICO è uguale ad $uno NUMERICO "; $uno = "1"; // stringa if(1 !== $uno) echo "con === 1 STRINGA è diverso da $uno NUMERICO "; if(1 == $uno) echo "con == 1 stringa è uguale ad 1 NUMERICO ";
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
a me interessa che 1 (valore di $_SESSION['livello']), confrontato con un campo estratto dal db, sia sempre numerico (quindi, non stringa come con le virgolette): è inutile, in questo caso, il confronto con ===?
perche' chiedi? fai le tue deduzioni su quanto detto...Originariamente inviato da meganoide
a me interessa che 1 (valore di $_SESSION['livello']), confrontato con un campo estratto dal db, sia sempre numerico (quindi, non stringa come con le virgolette): è inutile, in questo caso, il confronto con ===?![]()
se vuoi che il confronto sia con "valore + tipo NUMERICO" usa === e quindi 1 === 1, ma ricorda che i dati in arrivo da POST/GET ecc... sono sempre e solo delle stringhe, quindi bisogna usare le apposite funzioni (is_numeric(), is_int() ).
Nel tuo caso un numero estratto dal campo numerico del db e' un tipo NUMERICO, Potrebbe invece non esserlo quello recuperato da $_SESSION. Dipende da come viene memorizzato.
A parte il fatto che se metti un "livello" (penso di privilegio) in sessione perche' poi confrontarlo successivamente? tanto vale estrarlo di volta in volta. Di solito in base al privilegio memorizzato in sessione includo un menu' al posto di un altro e quindi viene gia' da se poi limite delle azioni possibili allo user.
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.