Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: if e operatore logico

  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    103

    if e operatore logico

    Buonasera, questo semplicissimo codice mi restituisce sempre la variabile $disp con valore "ndisp" anche quando la variabile $row['disponibile'] è maggiore di 0. Consigli in merito? Grazie mille.


    Codice PHP:
    if ($row['disponibile'])>0) {
        
    $disp "disp";
    } else {    
    $disp "ndisp";


  2. #2
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    112
    $row['disponibile'] cosa contiene? Non mi convince questa variabile.

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2008
    Messaggi
    103
    risolto! era semplicemente vuota...
    grazie mille

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Mi chiedo come faccia a non dare errori
    Le parentesi tonde nell'if non sono corrette, togli quella chiusa prima del maggiore

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    112
    Prego Tieni conto che "booleanamente" parlando il FALSE corrisponde a 1. Una stringa vuota è interpretata come FALSE. Ragion per cui 1 > 0 e l'esito della condizione risultava TRUE.

  6. #6
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,000
    ma il false non era 0 ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    112
    Quote Originariamente inviata da cassano Visualizza il messaggio
    ma il false non era 0 ?
    No Per comodità associamo istintivamente lo zero alla lampadina spenta e l'1 alla lampadina accesa, ma nei linguaggi di programmazione è il contrario.

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    mah, sempre saputo che ogni numero diverso da zero fosse true e zero equivalesse a false (tranne forse in qualche linguaggio dove false è uguale a -1)

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    112
    Quote Originariamente inviata da clasku Visualizza il messaggio
    mah, sempre saputo che ogni numero diverso da zero fosse true e zero equivalesse a false (tranne forse in qualche linguaggio dove false è uguale a -1)
    No, questo è corretto. Una stringa alla fine non è altro che una sequenza di byte maggiorata del/dei byte di lunghezza. La lunghezza della stringa è sostanzialmente un intero. Una stringa vuota equivale a una stringa di lunghezza 0.

  10. #10
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da semplice77 Visualizza il messaggio
    Prego Tieni conto che "booleanamente" parlando il FALSE corrisponde a 1. Una stringa vuota è interpretata come FALSE. Ragion per cui 1 > 0 e l'esito della condizione risultava TRUE.
    1 - Se fai un ord(false) in php ti esce 0 cioè un carattere non stampabile. Se fai ord(true) ti esce 49 ovvero il carattere 1.
    2 - la condizione con $row['disponibile'] del primo post dava sempre "ndisp" cioè false.

    Comunque hai anche ragione perchè in altri linguaggi (adesso non mi ricordo quali) il false = 1 e il true = 0.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

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 © 2024 vBulletin Solutions, Inc. All rights reserved.