Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Guida php

  1. #1
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025

    Guida php

    Salve.
    Sto leggendo la guida di base che ho trovato su html.it.
    Nel capitolo 10 da queste indicazioni su operatori di confronto:
    $a = 7; $b = 5; $c='molte persone'; $d='7 persone'; $e='5';

    $a == $d; // vero, $d vale 7
    $a === $d; // falso, valgono entrambi 7 ma $a è un intero mentre $d è una stringa
    $b > $c; // vero, $b vale 5 mentre $c vale 0
    $e > $c; // falso: questo è un confronto fra due stringhe, quindi valgono le regole viste prima
    La cosa che mi lascia stupefatto e il confronto della prima espressione cioè
    $a == $d; // vero, $d vale 7
    Come fa ad essere vera se la variabile $d è una stringa mentre $a è di tipo numerica?
    Cioè cosa vuol dire che quando dichiaro una variabile di tipo stringa con un numero iniziale ma con uno spazio vuoto dietro e poi altri caratteri nel suo interno, posso avere la possibilità di confrontare il numero che sta all'inizio della stringa con una variabile di tipo numerico?
    Grazie di un chiarimento.

  2. #2
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025

    Re: Guida php

    Scusate ho fatto un inserimento sbagliato

  3. #3
    E' tutto spiegato nella pagina che ti ho linkato nell'altro tread: http://php.net/manual/en/language.types.string.php

    Guarda alla voce "String conversion to numbers".

    When a string is evaluated in a numeric context, the resulting value and type are determined as follows.

    If the string does not contain any of the characters '.', 'e', or 'E' and the numeric value fits into integer type limits (as defined by PHP_INT_MAX), the string will be evaluated as an integer. In all other cases it will be evaluated as a float.

    The value is given by the initial portion of the string. If the string starts with valid numeric data, this will be the value used. Otherwise, the value will be 0 (zero). Valid numeric data is an optional sign, followed by one or more digits (optionally containing a decimal point), followed by an optional exponent. The exponent is an 'e' or 'E' followed by one or more digits.

  4. #4
    Utente di HTML.it L'avatar di Ironmax
    Registrato dal
    Dec 2008
    Messaggi
    1,025
    Grazie k.b
    Ho visto la tabella di conversione da stringhe a numeri.
    Funziona proprio così, la cosa mi suonava un po strana, sembra qualcosa di magico, ma si vede che il compilatore di php ha una funzione che agisce su questo tipo di caso.

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.