Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 20 su 20
  1. #11
    E usare la sintassi alternativa che è molto più chiara?

    Codice PHP:
    if (A8 NULL):
        
    A9 A8 10;
    else:
        
    A9 NULL;
    endif; 
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  2. #12
    Originariamente inviato da jos3ph
    se fai £B8='' php assegna alla variabile $B8 un valore nullo.
    ASSOLUTAMENTE NO!

    Questo è un errore comunissimo, ma molto grave: la stringa vuota, ovvero "" , NON corrisponde affatto a null; tant'è vero che se scrivo:

    if (is_null("")):
    echo "E' nullo";
    else:
    echo "Non è nullo";
    endif;

    mi stampa "Non è nullo"...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #13
    Originariamente inviato da Shores
    E usare la sintassi alternativa che è molto più chiara?

    Codice PHP:
    if (A8 NULL):
        
    A9 A8 10;
    else:
        
    A9 NULL;
    endif; 
    anche tu hai fatto lo stesso errore

    allora, vediamo se riesco a spiegarlo.

    se fai "if ($a8=null)"
    o se fai "if ($a8='')"

    php non fa un confronto fra il valore di $a8 e '' o "null" ma assegna alla variabile $a8 IL VALORE null.

    = non è un operatore di confronto, ma di assegnazione, percui quell' "if" sarà sempre valido.

    per fare un confronto dovete usare o == (che fa un confronto di valore) o === (che oltre al valore confronta anche il tipo).
    poi, per quanto riguarda la sintassi, sono valide entrambe, null o '' sono la stessa cosa

  4. #14
    Hai ragione, ho sbagliato a digitare, ho scritto = mentre avrei dovuto scrivere == , ma questo non cambia il fatto che se all'inizio lui aveva chiesto di verificare che una certa variabile contenesse il valore NULL (vedi il post iniziale del thread) è sbagliato proporgli $a=="" , bisogna scrivere $a==null o meglio ancora is_null($a) ...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  5. #15
    Originariamente inviato da jos3ph
    ...
    poi, per quanto riguarda la sintassi, sono valide entrambe, null o '' sono la stessa cosa
    E' proprio questo che è ASSOLUTAMENTE FALSO!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  6. #16
    Originariamente inviato da Shores
    E' proprio questo che è ASSOLUTAMENTE FALSO!
    mi potresti spiegare in cosa sono diverse?
    è una richiesta sincera, io pensavo fosse la stessa cosa

  7. #17
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    272
    Originariamente inviato da jos3ph
    mi potresti spiegare in cosa sono diverse?
    è una richiesta sincera, io pensavo fosse la stessa cosa
    Null significa che non punta verso niente.
    Ogni istruzione ha un suo indirizzo (una posizione) in memoria;Null signilfica che la variabile a cui l'hai assegnato e lì, tenuta da parte, se così si può dire e basta....niente valori.....
    Codice PHP:
    $a=" "
    oppure
    Codice PHP:
    $a=' '
    Equivalgono alla stringa vuota, bene o male hanno valore; Null non è un valore....è Null(a)

    Tra l'altro c'è stato anche un errore in quel confronto....Un null non si può sommare ad un numero....
    Che poi venga accettato lo stesso con il casting automatico è un altro paio di maniche......

  8. #18
    Samplicemente, il valore NULL è un valore diverso dalla stringa vuota "" ; NULL è un valore che non contiene nulla, e di solito lo si usa per indicare esplicitamente che non è stato restituito nessun valore, mentre una stringa vuota è una stringa come tutte le altre, solo che non ha nessun carattere dentro!

    Concettualmente i due valori sono diversissimi, anche se, grazie al fatto che PHP effettua delle conversioni di tipo automatiche continuamente, non sempre la cosa è visibile chiaramente.

    Per esempio, se su di una URL hai:

    pagina.php?nome=

    avrai che $_GET["nome"] è uguale alla stringa vuota "" , ma se per caso usi is_null($GET["nome"]) per verificare se ti è stato passato un parametro get, non riuscirai a intercettare e dare errore per una url del genere, visto che appunto ""!=NULL ...

    Qui trovi una completa spiegazione dei tipi di dati in php, che spiega ancor meglio NULL

    http://it.php.net/manual/it/language.types.php
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  9. #19
    Originariamente inviato da simulacron
    Null significa che non punta verso niente.
    Ogni istruzione ha un suo indirizzo (una posizione) in memoria;Null signilfica che la variabile a cui l'hai assegnato e lì, tenuta da parte, se così si può dire e basta....niente valori.....
    Codice PHP:
    $a=" "
    oppure
    Codice PHP:
    $a=' '
    Equivalgono alla stringa vuota, bene o male hanno valore; Null non è un valore....è Null(a)

    Tra l'altro c'è stato anche un errore in quel confronto....Un null non si può sommare ad un numero....
    Che poi venga accettato lo stesso con il casting automatico è un altro paio di maniche......
    Comunque quelle due che hai postato non sono stringhe vuote, ma stringhe che contengono uno spazio...

    In più, non userei l'espressione "non punta a nulla", è fuorviante perchè fa pensare che le variabili di PHP siano puntatori a celle di memoria, cosa che non è vera...
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  10. #20
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    272
    Hai ragione....
    Ho scritto impropiamente....pensavo solo di evidenziare quello che intendevo dire.....
    Ho fatto un errore,mi spiace...
    Per quell'altra cosa...è stato un riflesso incondizionato....
    In ogni caso, intendevo dire quello che hai detto tu....più o meno....

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.