Introducción

Cada expresión en PHP tiene uno de los siguientes tipos incorporados dependiendo de su valor:

Puede que existan aún algunas referencias al tipo "double" en el manual. Considere al tipo double como float; los dos nombres existen sólo por razones históricas.

El tipo de una variable usualmente no lo declara el programador; al contrario, es decidido en tiempo de ejecución por PHP dependiendo del contexto en el que se emplea dicha variable.

Nota: Para comprobar el tipo y el valor de una expresión, utilice la función var_dump().

Para obtener una representación legible por humanos de un tipo con propósitos de depuración, use la función gettype(). Para comprobar un cierto tipo, no emplee gettype(), si no las funciones is_tipo. Algunos ejemplos:

<?php
$un_bool
= true; // un valor booleano
$un_str = "foo"; // una cadena de caracteres
$un_str2 = 'foo'; // una cadena de caracteres
$un_int = 12; // un número entero

echo gettype($un_bool); // imprime: boolean
echo gettype($un_str); // imprime: string

// Si este valor es un entero, incrementarlo en cuatro
if (is_int($un_int)) {
$un_int += 4;
}

// Si $un_bool es una cadena, imprimirla
// (no imprime nada)
if (is_string($un_bool)) {
echo
"Cadena: $un_bool";
}
?>

Para forzar la conversión de una variable a un cierto tipo, puede amoldar la variable o usar la función settype() con ella.

Observe que una variable puede ser evaluada con valores diferentes en ciertas situaciones, dependiendo del tipo que posea en cada momento. Para más información, lea la sección sobre Manipulación de tipos. Las tablas de comparación de tipos pueden resultar útiles también, ya que muestran ejemplos de varias comparaciones relacionadas con tipos.

add a note add a note

User Contributed Notes 1 note

up
0
kuzawinski dot marcin_NOSPAM at gmail dot com
4 years ago
No, despite description here a `callable` still is not a a full-fledged primitive type in PHP.

<?php

function testFunc() { }

class
testClass {
   
    public function
__invole() { }
   
    public static function
testStaticMethod() { }
   
    public function
testMethod() { }
}

$o = new testClass();
$lambda = function() { };

$c1 = 'testFunc';
$c2 = ['testClass', 'testStaticMethod'];
$c3 = [$o, 'testMethod'];
$c4 = $lambda;
$c5 = $o;

var_dump(is_callable($c1));  // TRUE
var_dump(is_callable($c2));  // TRUE
var_dump(is_callable($c3));  // TRUE
var_dump(is_callable($c4));  // TRUE
var_dump(is_callable($c5));  // TRUE

var_dump(gettype($c1)); // string(6) "string"
var_dump(gettype($c2)); // string(5) "array"
var_dump(gettype($c3)); // string(5) "array"
var_dump(gettype($c4)); // string(6) "object"
var_dump(gettype($c5)); // string(6) "object"

?>
To Top