• WEB DESIGN AGENCY

  • Sede Principale

    Multimedia Web

    Blog Studio Web

    Studio Web

    Sede a Venezia

    Web Agency Venezia

    Sede a New York

    Nyc Web Design

    Sede International

    Web Designer International

    Sito Demo One Page

    Spaghetti Web

    Landing page

    Savinus

  • smartphone

    Seguici sul tuo smartphone

  • web-designer-ancona
  • AGENZIA WEB

Home / News / PHP 7.1: nuova gestione delle stringhe nelle espressioni aritmetiche

PHP 7.1: nuova gestione delle stringhe nelle espressioni aritmetiche


Ora, con PHP 7.1, vengono generati dei warning o delle notice a seconda della modalità con la quale vengono passate delle stringhe come operandi per gli operatori aritmetici; per proporre un prova a riguardo è possibile testare le tre operazioni seguenti in un ambiente basato su PHP 5.6 (per la precisione la release 5.6.28):

var_dump("8" + "4");
var_dump("8" + "una stringa");
var_dump("8" + "4  e una stringa");

In fase di avviamento vengono prodotti i seguenti risultati:

int(12) 
int(8) 
int(12)

Sostanzialmente, prima dell’ultima stabile di PHP l’interprete si limitava a verificare la presenza di proprietà numerici e li utilizzava al fine di ottenere un risultato valido dal punto di vista aritmetico, ciò al di là del tipo di dato utilizzato. La presenza di una stringa alfabetica nell’espressione non dava quindi luogo ad errori.

Ora proviamo a ripetere il medesimo test utilizzando un ambiente basato su PHP 7.1, in questo secondo caso otterremo un risultato come il seguente:

int(12) 
Warning: A non-numeric value encountered in /path/math.php on line 3 int(8) 
Notice: A non well formed numeric value encountered in /path/math.php on line 4 int(12)

Nessun errore per la prima impresa, vengono infatti individuati dei obbligazioni numerici e l’avviamento produce il risultato atteso. Nella seconda e nella terza impresa viene invece rilevata la presenza di stringhe che portano alla segnalazione di eccezioni. Osservando l’ultima riga dell’output si noti come l’interprete sia comunque in grado di produrre il risultato atteso (“int(12)“), in quanto la presenza di gioielli numerici viene comunque rilevata.

Con PHP 7.1 si ha quindi un warning quando si tenta di passare all’operatore un operando non numerico, viene invece generato un notice quando il valore numerico risulta non formattato correttamente perché, ad prova, seguito da una stringa alfabetica.






Source link

Send this to a friend