163 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			163 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Learn About Php Variables
 | 
						|
localeTitle: Aprenda acerca de las variables php
 | 
						|
---
 | 
						|
Las variables son contenedores para almacenar datos como `strings` , `integers` , valores `boolean` , `array` y objetos.
 | 
						|
 | 
						|
PHP sigue ciertas reglas para declaraciones de variables tales como:
 | 
						|
 | 
						|
*   La variable debe comenzar con un signo de dólar ($)
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
 | 
						|
`php <?php $var = 5; ?>`
 | 
						|
 | 
						|
*   El nombre de la variable puede contener caracteres como AZ, az, 0-9, \_ y [ASCII](http://www.asciitable.com/ "ASCII Table") desde 127-255.
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
 | 
						|
`php <?php $var = 5; //Valid $var_1 = "Foo"; //Valid $_var2 = 'Bar'; //Valid $var.3 = 'Baz'; //Invalid ?>`
 | 
						|
 | 
						|
*   El nombre de la variable puede comenzar con un guión bajo (\_).
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
 | 
						|
`php <?php $_var2 = 'Bar'; //Valid ?>`
 | 
						|
 | 
						|
*   El nombre de la variable no debe comenzar con un número 0-9.
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
 | 
						|
`php <?php $9var3 = 'Baz'; //Invalid ?>`
 | 
						|
 | 
						|
*   El nombre de la variable distingue entre mayúsculas y minúsculas.
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
```
 | 
						|
<?php 
 | 
						|
    $var = 5; //Valid 
 | 
						|
    $VAR = "Foo"; //Valid 
 | 
						|
    echo $var; //Output 5 
 | 
						|
    echo "<br>"; 
 | 
						|
    echo $VAR; //Output Foo 
 | 
						|
 ?> 
 | 
						|
```
 | 
						|
 | 
						|
PHP es un lenguaje escrito de forma flexible, por lo tanto, no necesitamos declarar el tipo de datos de una variable al declarar la variable. A diferencia de Java o C.
 | 
						|
```
 | 
						|
<?php 
 | 
						|
    $var = 5; 
 | 
						|
    $var2 = 4; 
 | 
						|
    $sum = $var+$var2; 
 | 
						|
    echo $sum; //Output 9 
 | 
						|
    echo "<br>"; 
 | 
						|
    echo $var+$var2; //Output 9 
 | 
						|
 ?> 
 | 
						|
```
 | 
						|
 | 
						|
Las variables también se pueden asignar por referencia. Esto permite que dos variables se refieran al mismo contenido. El operador `&` se coloca antes de la variable a la que se va a hacer referencia.
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
```
 | 
						|
<?php 
 | 
						|
    $var1 = "foo"; 
 | 
						|
    $var2 = "bar"; 
 | 
						|
 
 | 
						|
 myTest($var1, $var2); 
 | 
						|
 
 | 
						|
 echo $var1; //Output foo 
 | 
						|
 echo $var2; //Output BAR 
 | 
						|
 
 | 
						|
 function myTest($var1, &$var2){ 
 | 
						|
    $var1 = "FOO"; 
 | 
						|
    $var2 = "BAR"; 
 | 
						|
 } 
 | 
						|
 ?> 
 | 
						|
```
 | 
						|
 | 
						|
Para tener nombres de variables establecidos dinámicamente usamos las variables variables. Esto puede ser particularmente útil cuando existe la necesidad de crear múltiples variables.
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
```
 | 
						|
<?php 
 | 
						|
 
 | 
						|
    $var = 'Tom'; 
 | 
						|
    echo $var;      //Output Tom 
 | 
						|
    $$var = 'Cat'; //The value of $$var is the value of $var. So $$var and $Tom give the same output. 
 | 
						|
    echo $$var;   //Output Cat 
 | 
						|
    echo $Tom;   //Output Cat 
 | 
						|
 ?> 
 | 
						|
```
 | 
						|
 | 
						|
# Alcance variable
 | 
						|
 | 
						|
El alcance de la variable se refiere a los lugares desde donde una variable es accesible.
 | 
						|
 | 
						|
*   El alcance global es para las variables que se declaran fuera de una función. Se puede acceder a estas variables desde cualquier lugar pero no dentro de una función.
 | 
						|
*   El alcance local es para las variables declaradas dentro de una función a las que no se puede acceder desde cualquier lugar fuera de la función.
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
```
 | 
						|
<?php 
 | 
						|
   $global = "Hello"; 
 | 
						|
 
 | 
						|
  function Test(){ 
 | 
						|
   $local = "World"; 
 | 
						|
   echo $global; //Error 
 | 
						|
   echo $local; //Output World 
 | 
						|
  } 
 | 
						|
 
 | 
						|
   Test(); 
 | 
						|
   echo $global; //Output Hello 
 | 
						|
   echo $local; //Error 
 | 
						|
 ?> 
 | 
						|
```
 | 
						|
 | 
						|
Para acceder a las variables globales dentro de una función:
 | 
						|
```
 | 
						|
<?php 
 | 
						|
   $global = "Hello"; 
 | 
						|
 
 | 
						|
 function Test(){ 
 | 
						|
   global $global; 
 | 
						|
   $local = "World"; 
 | 
						|
   echo $global; //Output Hello 
 | 
						|
   echo $local; //Output World 
 | 
						|
  } 
 | 
						|
 
 | 
						|
   Test(); 
 | 
						|
   echo $global; //Output Hello 
 | 
						|
   echo $local; //Error 
 | 
						|
 ?> 
 | 
						|
```
 | 
						|
 | 
						|
# Variables estáticas
 | 
						|
 | 
						|
Cada vez que se crea una función, todas sus variables locales se eliminan. Para retener el último valor de la variable lo declaramos `static` .
 | 
						|
 | 
						|
Ejemplo:
 | 
						|
```
 | 
						|
<?php 
 | 
						|
 
 | 
						|
 function WithStatic(){ 
 | 
						|
   static $var = 0; 
 | 
						|
   echo $var; 
 | 
						|
   $var++; 
 | 
						|
  } 
 | 
						|
 
 | 
						|
   WithStatic(); //Output 0 
 | 
						|
   WithStatic(); //Output 1 
 | 
						|
   WithStatic(); //Output 2 
 | 
						|
 
 | 
						|
 function WithoutStatic(){ 
 | 
						|
   $var = 0; 
 | 
						|
   echo $var; 
 | 
						|
   $var++; 
 | 
						|
  } 
 | 
						|
 
 | 
						|
   WithoutStatic(); //Output 0 
 | 
						|
   WithoutStatic(); //Output 0 
 | 
						|
   WithoutStatic(); //Output 0 
 | 
						|
 ?> 
 | 
						|
 | 
						|
``` |