PHP - Tipos de variables

La forma principal de almacenar información en medio de un programa PHP es mediante una variable.

Aquí están las cosas más importantes que debe saber sobre las variables en PHP.

  • Todas las variables en PHP se indican con un signo de dólar inicial ($).

  • El valor de una variable es el valor de su asignación más reciente.

  • Las variables se asignan con el operador =, con la variable a la izquierda y la expresión a evaluar a la derecha.

  • Las variables pueden, pero no es necesario, declararse antes de la asignación.

  • Las variables en PHP no tienen tipos intrínsecos: una variable no sabe de antemano si se utilizará para almacenar un número o una cadena de caracteres.

  • Las variables utilizadas antes de su asignación tienen valores predeterminados.

  • PHP hace un buen trabajo al convertir automáticamente tipos de uno a otro cuando es necesario.

  • Las variables de PHP son similares a las de Perl.

PHP tiene un total de ocho tipos de datos que usamos para construir nuestras variables:

  • Integers - son números enteros, sin punto decimal, como 4195.

  • Doubles - son números de punto flotante, como 3.14159 o 49.1.

  • Booleans - tener solo dos valores posibles, verdadero o falso.

  • NULL - es un tipo especial que solo tiene un valor: NULL.

  • Strings - son secuencias de caracteres, como "PHP admite operaciones de cadena".

  • Arrays - son colecciones nombradas e indexadas de otros valores.

  • Objects - son instancias de clases definidas por el programador, que pueden empaquetar otros tipos de valores y funciones que son específicos de la clase.

  • Resources - son variables especiales que contienen referencias a recursos externos a PHP (como conexiones de bases de datos).

Los primeros cinco son tipos simples y los dos siguientes (matrices y objetos) son compuestos: los tipos compuestos pueden empaquetar otros valores arbitrarios de tipo arbitrario, mientras que los tipos simples no.

Explicaremos solo tipos de datos simples en estos capítulos. Array y Objects se explicarán por separado.

Enteros

Son números enteros, sin punto decimal, como 4195. Son el tipo más simple. Corresponden a números enteros simples, tanto positivos como negativos. Los enteros se pueden asignar a variables, o se pueden usar en expresiones, así:

$int_var = 12345;
$another_int = -12345 + 12345;

El número entero puede estar en formato decimal (base 10), octal (base 8) y hexadecimal (base 16). El formato decimal es el predeterminado, los enteros octales se especifican con un 0 inicial y los hexadecimales con un 0x inicial.

Para las plataformas más comunes, el número entero más grande es (2 ** 31. 1) (o 2.147.483.647) y el número entero más pequeño (el más negativo) es. (2 ** 31. 1) (o .2,147,483,647).

Dobles

Les gusta 3.14159 o 49.1. De forma predeterminada, la impresión se duplica con el número mínimo de decimales necesarios. Por ejemplo, el código -

<?php
   $many = 2.2888800;
   $many_2 = 2.2111200;
   $few = $many + $many_2;
   
   print("$many + $many_2 = $few <br>");
?>

Produce la siguiente salida del navegador:

2.28888 + 2.21112 = 4.5

Booleano

Solo tienen dos valores posibles, verdadero o falso. PHP proporciona un par de constantes especialmente para usar como booleanos: VERDADERO y FALSO, que se pueden usar así:

if (TRUE)
   print("This will always print<br>");

else
   print("This will never print<br>");

Interpretación de otros tipos como booleanos

Aquí están las reglas para determinar la "verdad" de cualquier valor que aún no sea del tipo booleano:

  • Si el valor es un número, es falso si es exactamente igual a cero y verdadero en caso contrario.

  • Si el valor es una cadena, es falso si la cadena está vacía (tiene cero caracteres) o es la cadena "0", y es verdadero en caso contrario.

  • Los valores de tipo NULL siempre son falsos.

  • Si el valor es una matriz, es falso si no contiene otros valores y es verdadero en caso contrario. Para un objeto, contener un valor significa tener una variable miembro a la que se le ha asignado un valor.

  • Los recursos válidos son verdaderos (aunque algunas funciones que devuelven recursos cuando tienen éxito, devolverán FALSE cuando no lo sean).

  • No use el doble como booleanos.

Cada una de las siguientes variables tiene el valor de verdad incrustado en su nombre cuando se usa en un contexto booleano.

$true_num = 3 + 0.14159;
$true_str = "Tried and true"
$true_array[49] = "An array element";
$false_array = array();
$false_null = NULL;
$false_num = 999 - 999;
$false_str = "";

NULO

NULL es un tipo especial que solo tiene un valor: NULL. Para darle a una variable el valor NULL, simplemente asígnelo así:

$my_var = NULL;

La constante especial NULL se escribe con mayúscula por convención, pero en realidad no distingue entre mayúsculas y minúsculas; también podrías haber escrito -

$my_var = null;

Una variable a la que se le ha asignado NULL tiene las siguientes propiedades:

  • Se evalúa como FALSO en un contexto booleano.

  • Devuelve FALSE cuando se prueba con la función IsSet ().

Instrumentos de cuerda

Son secuencias de caracteres, como "PHP admite operaciones de cadena". Los siguientes son ejemplos válidos de cadena

$string_1 = "This is a string in double quotes";
$string_2 = 'This is a somewhat longer, singly quoted string';
$string_39 = "This string has thirty-nine characters";
$string_0 = ""; // a string with zero characters

Las cadenas entre comillas simples se tratan casi literalmente, mientras que las cadenas entre comillas reemplazan las variables con sus valores y también interpretan de manera especial ciertas secuencias de caracteres.

<?php
   $variable = "name";
   $literally = 'My $variable will not print!';
   
   print($literally);
   print "<br>";
   
   $literally = "My $variable will print!";
   print($literally);
?>

Esto producirá el siguiente resultado:

My $variable will not print!
My name will print

No hay límites artificiales en la longitud de las cadenas; dentro de los límites de la memoria disponible, debería poder hacer cadenas arbitrariamente largas.

Las cadenas que están delimitadas por comillas dobles (como en "esto") son preprocesadas de las dos formas siguientes por PHP:

  • Ciertas secuencias de caracteres que comienzan con barra invertida (\) se reemplazan con caracteres especiales

  • Los nombres de las variables (que comienzan con $) se reemplazan con representaciones de cadena de sus valores.

Los reemplazos de la secuencia de escape son:

  • \ n se reemplaza por el carácter de nueva línea
  • \ r se reemplaza por el carácter de retorno de carro
  • \ t se reemplaza por el carácter de tabulación
  • \ $ se reemplaza por el propio signo de dólar ($)
  • \ "se reemplaza por una comilla doble simple (")
  • \\ se reemplaza por una sola barra invertida (\)

Aquí Documento

Puede asignar varias líneas a una sola variable de cadena usando aquí el documento -

<?php
   $channel =<<<_XML_
   
   <channel>
      <title>What's For Dinner</title>
      <link>http://menu.example.com/ </link>
      <description>Choose what to eat tonight.</description>
   </channel>
   _XML_;
   
   echo <<<END
   This uses the "here document" syntax to output multiple lines with variable 
   interpolation. Note that the here document terminator must appear on a line with 
   just a semicolon. no extra whitespace!
   
END; print $channel; ?>

Esto producirá el siguiente resultado:

This uses the "here document" syntax to output
multiple lines with variable interpolation. Note
that the here document terminator must appear on a
line with just a semicolon. no extra whitespace!

<channel>
<title>What's For Dinner<title>
<link>http://menu.example.com/<link>
<description>Choose what to eat tonight.</description>

Alcance variable

El alcance se puede definir como el rango de disponibilidad que tiene una variable para el programa en el que se declara. Las variables de PHP pueden ser uno de los cuatro tipos de alcance:

Denominación variable

Las reglas para nombrar una variable son:

  • Los nombres de las variables deben comenzar con una letra o un carácter de subrayado.

  • Un nombre de variable puede constar de números, letras, guiones bajos, pero no puede usar caracteres como +, -,%, (,). &, etc

No hay límite de tamaño para las variables.