Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    Comportamento operatori di confronto...questa mi giunge nuova

    Codice PHP:
    <?php
    $cid 
    0;

    $prova1 "a167e7227175acfba3037fcfc9c11e1a";
    $prova2 "541a03b2b0e1b6dbd972e9f5af5ca992";

    var_dump($prova1 == $cid);

    var_dump($prova2 == $cid);

    ?>
    Il risultato di questo script è

    bool(true) bool(false)

    Credo che mi sfugga qualcosa nel comportamento degli operatori di confronto. Qualcuno può darmi delle delucidazioni?

    Grazie

  2. #2

  3. #3
    L'errore é confrontare una stringa con un numero. Se provi a fare

    echo ($prova1 * 1);

    Vedi che la rappresentazione numerica di quella stringa é 0.

    Se vuoi essere sicuro del controllo devi usare l'operatore === (3 uguali!)

  4. #4
    si infatti ho risolto utilizzando l'operatore ===

    in effetti mi chiedevo quale fosse l'esatto comportamento dell'operatore di confronto, cioè quali cast/conversioni effettuasse per confrontare tipi di dati differenti

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.