Tipus de dades en PHP
Tipus de dades en PHP

 
 
000 <? Php
001 // La variable $var1 és un nombre (sencer)
002 $var1 3 ;
003 // La variable $var2 és un text(cadena de caràcters)
004 $var2 = "9 anys" ;

 

PHP és un llenguatge dels denominats de tipus dinàmic, el que significa que una mateixa variable pot tenir tipus (numero, text, vector ...) diferents en diferents moments. 

Per aquesta raó, no suporta la definició de tipus en la declaració de variables sinó que el tipus de la variable ve determinat pel context en què es troba, vegem un exemple:

000 <? Php
001 // La variable $var1 és un nombre (sencer)
002 $var1   3 ;
003 // La variable $var2 és un text(cadena de caràcters)
004 $var2   "9 ​​anys" ;
005 // Si ajuntem les variables $var1 i $var2, obtenim un text
006 $var3   $var1 $var2  // "39 anys" 
007 // Si en canvi les sumem obtindrem un nombre
008 $var3   $var1 $var2  
009 //PHP suma 3+9 i ens dóna com a resultat només el 12
010 ?>

Podem forçar un tipus determinat, amb la funció settype o ens parèntesi davant de la variable un dels següents tipus de dades:

Taula de contingut

 

 

 

boolean. Lògic

Pot contenir 2 valors True o ​​False. En usar com sencer el seu valor pot ser 1 (True) o 0 (False). Un exemple típic de lògic és el resultat d'una comparació:

000 <? Php
001 $var1  =!   // $var1 és cert
002 ?>

 

 

 

integer. Sencer

Pot contenir sencers (sense decimals) positius i negatius, es poden escriure en notació octal, decimal i hexadecimal:

000 <? Php
001 $var1  =!   // $var1 és cert
002 $var1   027     // notació octal  (23 en decimal)
003 $var1   23       // notació decimal 
004 $var1   0x17   // notació hexadecimal  (23 en decimal)
005 ?>

Si l'utilitzem com lògic seu valor és False si és 0 o True en qualsevol altre cas.

 

 

 

flotador. Decimal

En versions anteriors a la 4.2.0 de PHP se'ls deia double, contenen nombres decimals positius o negatius. Si el fem servir com sencer, el seu valor s'arrodoneix a la baixa (truncament).

 

 

 

string. Cadena de caràcters

És una llista de caràcters (lletres, xifres, signes ...) en un ordre determinat, per exemple "hola món". Els representem delimitats amb cometes dobles o simples. 

No podem utilitzar el mateix tipus de cometes en l'interior d'una cadena que per delimitar, en aquest cas li haurem de posar un \ davant per diferenciar-la del final de la cadena, i si es pot confondre, \\ en lloc de \:

000 <? Php // Així si
001 $var1 "poso \ davant de les \" però no de les'" ;
002 $var1 'poso \ davant de les \' però no de les ";
003 $var1 "poso \\ " ; // Així no
004 $var1 "poso"  on vull "; // Malament!"
005 $var1 "poso \";  // Malament! \
006 ?>

Les cadenes amb cometes dobles, a part de \ "i \ ' tenen altres caràcters especials:

\N Salt de línia (en el codi, no en la presentació de la pàg.) 
\r  Retorn de carro (Salt de línia, enter) 
\t  Tab 
\$ Dòlar

000 <? Php  // Contingut amb caràcters Php  especials
001 $var1 "línia 1 \t 10 \$ \nlinea 2 \t 15 \$" ;
002 ?>

L'existència d'un caràcter especial \$ per al dòlar, és perquè a l'interior de cometes dobles podem utilitzar variables. Si anem a accedir a elements d'un vector, el agruparem amb {i} darrere del $:

000 <? Php // Així si
001 $var1 = "php" ; 
002 $var2 = Array("php" , "html") // [0] => php, [1]=>html
003 $var3 "aprenc $var1" // aprenc php
004 $var3 "aprenc  {$var2[0]}" // aprenc php
004 // Així no 
005 $var3 "aprenc $var2[0]" // aprenc array
006 ?>

Si barregem una cadena amb nombres (enters o decimals) s'utilitzarà com nombre fins al primer caràcter incorrecte (veure primer exemple del capítol). Si ho barregem amb lògics serà False quan la cadena està buida.

 

 

 

null. buit

No té valor, es comporta com a cadena buida, zero o false;

 

 

 

matriu. vector

Els veurem en profunditat en el proper capítol vectors en PHP.

 

 

 

object. Objecte

Els veurem més endavant en el capítol PHP orientat a objectes