I regularly use your site to answer my PHP problems! "Io uso regolarmente il vostro sito per rispondere a miei problemi PHP!"
Opaco

Tipi in PHP

Una variabile può deve essere di un certo tipo, ma in tipi PHP non sono esplicitamente definito, invece il tipo di variabile è determinato dal contesto in cui la variabile viene utilizzata. Ciò significa quindi che variabili diventano un tipo quando viene assegnato un valore che ha un tipo.

Conversione automatica di tipo

PHP converte automaticamente da un tipo ad un altro, che può causare risultati imprevisti. Per esempio la conversione da false in una stringa può avere risultati imprevisti.
value = false ; $ Valore = false;
" The value is $ value " ; echo "Il valore è $ valore";
returns : The value is / / Restituisce: il valore è
Per risolvere questi tipi di problemi PHP deve essere istruito su come trattare con la variabile.
value = false ; $ Valore = false;
" The value is " . ( int ) $ value ; echo "Il valore è" (int) $ valore.;
returns : The value is 0 / / Restituisce: il valore è 0

Come potete vedere il cast di una variabile è necessario utilizzare il tipo di posto che si desidera eseguire il cast di fronte della variabile tra parentesi. Questo vale allora che tipo sia il cast variabile. Si noti che si deve fare attenzione a quello che lanciato come può avere alcuni risultati inaspettati. Ad esempio, colata una frazione a un numero intero la frazione intorno all'intero più vicino.

Conversione di stringhe con i numeri

Lo sapevate che è possibile aggiungere una sentance e un numero tra loro per formare un altro numero? Ebbene in PHP è possibile! Unfortunatley questo può portare a risultati imprevisti quindi bisogna stare attenti a come gestire questa situazione.

value = 1 + " 4.5 " ; $ Valore = 1 + "4.5";
is float with the value 5.5 / / È float con il valore 5,5
value = 1 + " tom " ; $ Valore = 1 + "tom";
is integer with the value 1 / / È numero intero con valore 1
value = 1 + " 2 Green Bottles " ; $ Valore = 1 + "2 Bottiglie verde";
is integer with the value 3 / / È un numero intero con il valore 3
value = 1 + " Green Bottles 2 " ; $ Valore = 1 + "Green Bottles 2";
is integer with the value 3 / / È un numero intero con il valore 3

Come si può vedere quando si aggiunge una stringa in un numero, se la prima parte della stringa è un numero questo viene poi sommati. Eventuali altri numeri vengono ignorati. Se si aggiunge una stringa con un galleggiante in esso per un intero il risultato è un float. Ancora una volta il modo corretto per risolvere questo problema è quello di rilevare e il cast della variabile o al tipo corretto.

Rilevare il tipo di una variabile

Un tipo di variabile può essere identificato utilizzando le seguenti funzioni semplicemente passare la variabile alla funzione richiesta e restituisce true se si tratta di quel tipo. Questa è una tecnica per la programmazione difensiva .

var = " hello " ; $ Var = "ciao";
Returns true if a variable is a BOOLEAN / * Restituisce vero se una variabile è un valore booleano
$ var ) is_bool ($ var)
Returns true if a variable is a STRING / * Restituisce vero se una variabile è una stringa
$ var ) is_string ($ var)
Returns true if a variable is a NUMERIC STRING / * Restituisce vero se una variabile è una stringa numerica
$ var ) is_numeric ($ var)
Returns true if a variable is an INTEGER / / Restituisce true se una variabile è un INTEGER
$ var ) is_int ($ var)
Returns true if a variable is an ARRAY / * Restituisce vero se una variabile è un array
$ var ) is_array ($ var)
Returns true if a variable is an OBJECT / * Restituisce vero se una variabile è un oggetto
$ var ) is_object ($ var)
Returns true if a variable is NULL / / Restituisce true se una variabile è NULL
$ var ) is_null ($ var)
Returns true if a variable is a FLOAT / * Restituisce vero se una variabile è un FLOAT
$ var ) is_float ($ var)

Questo è importante in quanto una volta che un particolare tipo variabili è stato identificato allora si può essere certi l'effetto di eventuali operazioni effettuate su di essa.


Nessun commento è stato fornito.
security image
Scritto da Dominic Skinner
Ultimo aggiornamento: 2011/10/25 16:00:38