Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    29

    Contraddizione logica negli operatori di confronto

    in PHP abbiamo che ("pippo"==true) restituisce TRUE in quanto la stringa non è vuota, mentre (0==true) dà FALSE perché lo zero viene inteso come un false... sicché (""==0) giustamente restituisce TRUE, essendo equivalente a (false==false).

    Ma perché allora anche la condizione ("pippo"==0) restituisce TRUE?

    Non posso crederci, eppure è proprio così.
    Evidentemente c'è qualcosa che non sto capendo, qualcuno ha una risposta?
    Grazie,
    Franci

  2. #2
    ciao
    credo che il motivo sia questo
    quando usi una stringa e la paragoni a un numero php in automatico cerca di estrarre il numero dalla stringa.
    Se nella stringa non ci sono numeri allora considera 0, altrimenti prnede il numero contenuto.
    Se anziché scrivere "pippo" avessi scritto "1pippo" ti dava false perché 1==0 è false

    ovviamente per confronti di questo tipo avrebbe più senso utilizzare l'operatore ===

    Daniele
    indovina l'età su https://www.guessmyage.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    29
    Quote Originariamente inviata da jonnino2004 Visualizza il messaggio
    ciao
    credo che il motivo sia questo
    quando usi una stringa e la paragoni a un numero php in automatico cerca di estrarre il numero dalla stringa.
    Se nella stringa non ci sono numeri allora considera 0, altrimenti prnede il numero contenuto.
    Se anziché scrivere "pippo" avessi scritto "1pippo" ti dava false perché 1==0 è false

    ovviamente per confronti di questo tipo avrebbe più senso utilizzare l'operatore ===

    Daniele
    -----------------

    BRAVO !!!
    Proprio così, grazie mille
    Franci

Tag per questa discussione

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.