Esercitazione PHP

PHP HOME Introduzione a PHP Installazione PHP Sintassi PHP Commenti PHP Variabili PHP PHP Eco/Stampa Tipi di dati PHP Stringhe PHP Numeri PHP PHP matematica Costanti PHP Operatori PHP PHP Se...Altro...Altro Passaggio PHP Ciclo PHP Funzioni PHP Array PHP Superglobali PHP RegEx PHP

Moduli PHP

Gestione dei moduli PHP Convalida del modulo PHP Modulo PHP richiesto URL/e-mail del modulo PHP Modulo PHP completo

PHP avanzato

Data e ora PHP PHP Include Gestione dei file PHP Apri/Leggi file PHP Creazione/scrittura di file PHP Caricamento file PHP Cookie PHP Sessioni PHP Filtri PHP Filtri PHP avanzati Funzioni di callback PHP PHP JSON Eccezioni PHP

PHP OOP

PHP Che cos'è OOP Classi/Oggetti PHP Costruttore PHP PHP distruttore Modificatori di accesso PHP Ereditarietà PHP Costanti PHP Classi astratte PHP Interfacce PHP Tratti PHP Metodi statici PHP Proprietà statiche PHP Spazi dei nomi PHP Iterabili PHP

Database MySQL

Database MySQL MySQL Connect MySQL Crea DB MySQL Crea tabella Dati di inserimento MySQL MySQL Ottieni l'ultimo ID MySQL inserisce più MySQL preparato MySQL Seleziona dati MySQL dove MySQL Ordina per MySQL Elimina dati Dati di aggiornamento MySQL Dati limite MySQL

PHP XML

Parser XML PHP Analizzatore PHP SimpleXML PHP SimpleXML - Ottieni PHP XML espatriato PHP XML DOM

PHP - AJAX

Introduzione all'Ajax AJAX PHP Database AJAX XML AJAX Ricerca in tempo reale AJAX Sondaggio AJAX

Esempi PHP

Esempi PHP compilatore PHP Quiz PHP Esercizi PHP Certificato PHP

Riferimento PHP

Panoramica di PHP matrice PHP Calendario PHP Data PHP Directory PHP Errore PHP Eccezione PHP File system PHP Filtro PHP PHP FTP PHP JSON Parole chiave PHP PHP Libxml Posta PHP PHP matematica PHP Varie PHP MySQLi Rete PHP Controllo dell'output PHP RegEx PHP PHP SimpleXML Flusso PHP Stringa PHP Gestione delle variabili PHP Analizzatore XML PHP Zip PHP Fuso orario PHP

Numeri PHP


In questo capitolo esamineremo in modo approfondito interi, float e stringhe numeriche.


Numeri PHP

Una cosa da notare su PHP è che fornisce la conversione automatica del tipo di dati.

Quindi, se assegni un valore intero a una variabile, il tipo di quella variabile sarà automaticamente un intero. Quindi, se si assegna una stringa alla stessa variabile, il tipo cambierà in una stringa.

Questa conversione automatica a volte può rompere il tuo codice.


Interi PHP

2, 256, -256, 10358, -179567 sono tutti numeri interi.

Un intero è un numero senza parti decimali.

Un tipo di dati intero è un numero non decimale compreso tra -2147483648 e 2147483647 nei sistemi a 32 bit e tra -92233720368547775808 e 9223372036854775807 nei sistemi a 64 bit. Un valore maggiore (o inferiore) di questo verrà memorizzato come float, poiché supera il limite di un numero intero.

Nota: un'altra cosa importante da sapere è che anche se 4 * 2.5 è 10, il risultato viene memorizzato come float, perché uno degli operandi è un float (2.5).

Ecco alcune regole per gli interi:

  • Un numero intero deve avere almeno una cifra
  • Un numero intero NON deve avere un punto decimale
  • Un numero intero può essere positivo o negativo
  • I numeri interi possono essere specificati in tre formati: decimale (a base 10), esadecimale (a base 16 - preceduto da 0x) o ottale (a base 8 - preceduto da 0)

PHP ha le seguenti costanti predefinite per gli interi:

  • PHP_INT_MAX - Il numero intero più grande supportato
  • PHP_INT_MIN - Il numero intero più piccolo supportato
  • PHP_INT_SIZE - La dimensione di un numero intero in byte

PHP ha le seguenti funzioni per verificare se il tipo di una variabile è intero:

  • è_int()
  • is_integer() - alias di is_int()
  • is_long() - alias di is_int()

Esempio

Controlla se il tipo di una variabile è intero:

<?php
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>


PHP fluttua

Un float è un numero con una virgola decimale o un numero in forma esponenziale.

2.0, 256.4, 10.358, 7.64E+5, 5.56E-5 sono tutti float.

Il tipo di dati float può in genere memorizzare un valore fino a 1,7976931348623E+308 (dipendente dalla piattaforma) e avere una precisione massima di 14 cifre.

PHP ha le seguenti costanti predefinite per i float (da PHP 7.2):

  • PHP_FLOAT_MAX - Il numero in virgola mobile più grande rappresentabile
  • PHP_FLOAT_MIN - Il numero in virgola mobile positivo più piccolo rappresentabile
  • - PHP_FLOAT_MAX - Il più piccolo numero in virgola mobile negativo rappresentabile
  • PHP_FLOAT_DIG - Il numero di cifre decimali che possono essere arrotondate in float e viceversa senza perdita di precisione
  • PHP_FLOAT_EPSILON - Il più piccolo numero positivo rappresentabile x, in modo che x + 1.0 != 1.0

PHP ha le seguenti funzioni per verificare se il tipo di una variabile è float:

  • is_float()
  • is_double() - alias di is_float()

Esempio

Controlla se il tipo di una variabile è float:

<?php
$x = 10.365;
var_dump(is_float($x));
?>

PHP Infinito

Un valore numerico maggiore di PHP_FLOAT_MAX è considerato infinito.

PHP ha le seguenti funzioni per verificare se un valore numerico è finito o infinito:

Tuttavia, la funzione PHP var_dump() restituisce il tipo di dati e il valore:

Esempio

Controlla se un valore numerico è finito o infinito:

<?php
$x = 1.9e411;
var_dump($x);
?>

PHP NaN

NaN sta per Non un numero.

NaN è usato per operazioni matematiche impossibili.

PHP ha le seguenti funzioni per verificare se un valore non è un numero:

Tuttavia, la funzione PHP var_dump() restituisce il tipo di dati e il valore:

Esempio

Il calcolo non valido restituirà un valore NaN:

<?php
$x = acos(8);
var_dump($x);
?>

Stringhe numeriche PHP

La funzione PHP is_numeric() può essere utilizzata per scoprire se una variabile è numerica. La funzione restituisce true se la variabile è un numero o una stringa numerica, false in caso contrario.

Esempio

Controlla se la variabile è numerica:

<?php
$x = 5985;
var_dump(is_numeric($x));

$x = "5985";
var_dump(is_numeric($x));

$x = "59.85" + 100;
var_dump(is_numeric($x));

$x = "Hello";
var_dump(is_numeric($x));
?>

Nota: Da PHP 7.0: La funzione is_numeric() restituirà FALSE per le stringhe numeriche in forma esadecimale (es. 0xf4c3b00c), poiché non sono più considerate stringhe numeriche.


PHP Casting di stringhe e float su numeri interi

A volte è necessario eseguire il cast di un valore numerico in un altro tipo di dati.

La funzione (int), (intero) o intval() viene spesso utilizzata per convertire un valore in un intero.

Esempio

Cast float e string su intero:

<?php
// Cast float to int
$x = 23465.768;
$int_cast = (int)$x;
echo $int_cast;

echo "<br>";

// Cast string to int
$x = "23465.768";
$int_cast = (int)$x;
echo $int_cast;
?>