Inicio arrow Artículos arrow php arrow Manual PHP+MySQL (III - Variables, Constantes y Operadores)
Menú Principal
Lo más leído
Consigue Firefox
Usuarios
993 registrados
1 hoy
5 esta semana
138 este mes
Último: gabity...
Formulario de acceso



... Regenerar clave
... Registro
Manual PHP+MySQL (III - Variables, Constantes y Operadores) Imprimir E-Mail
miércoles, 18 de enero de 2006

Repasaremos en este capítulo la sintaxis de tres elementos fundamentales del lenguaje PHP: las variables, las constantes y los operadores.

Variables

Tal y como aprendimos en el capítulo anterior, todas las variables en PHP han de ir precedidas del signo dólar ($) , siendo igualado su contenido mediante el signo igual (=) . Hay que tener en cuenta que PHP hace distinción entre mayúsculas y minúsculas para la definición de variables, así que $myvar y $MyVar nunca serán tratadas como la misma variable por el compilador. Veamos el ejemplo de código siguiente:

<html>  
<body>
<?php
$myvar = "SEVILLA \n";
$Myvar = "MADRID \n";
//Esto imprimirá SEVILLA
echo $myvar;
//Esto imprimirá MADRID
echo $Myvar;
?>
</body>
</html>


Como puede observarse, se imprimirán dos líneas de texto distintas en el código del navegador, pues son dos variables distintas las que estmos usando en PHP. Apuntar también que, si bien en las variables el compilador de PHP sí que hace distinciones, no las hará a la hora de escribir comandos. De esta forma, el comando echo() podrá ser escrito en minúsculas, en mayúsculas, o usando una combinación de las mismas.

Para ayudar a una mejor depuración del código que se envía al navegador, es muy aconsejable el uso de \n que, como ya explicamos en el capítulo anterior, manda un salto de línea a la impresión de dicho código. Otros usos de la barra invertida que tendremos que tener en cuenta son los siguientes:

" Carácter dobles comillas
\
Carácter barra invertida
n
Nueva línea
r
Retorno de carro
t
Tabulador horizontal


Constantes


Las constantes en PHP son objetos similares a las varibles que mantienen su valor durante toda la vida del código. El valor de una constante sólo se asigna una vez mediante la función define():

<html>  
<body>
<?php
define ("CONSTANTE", "Hola Mundo");
printf (CONSTANTE);
?>
</body>
</html>


Por defecto, PHP crea una serie de constantes predeterminadas que siempre estarán disponibles para su inclusión en el código. Algunas de estas constantes se detallan a continuación:

__FILE__
El nombre del archivo de comandos que está siendo interpretado actualmente. Si se usa dentro de un archivo que ha sido incluido o requerido, entonces se da el nombre del archivo incluido, y no el nombre del archivo padre.

__LINE__

El número de línea dentro del archivo que está siendo interpretado en la actualidad. Si se usa dentro de un archivo incluido o requerido, entonces se da la posición dentro del archivo incluido.

PHP_VERSION
La cadena que representa la versión del compilador de PHP en uso en la actualidad; p.ej. '3.0.8-dev'.

PHP_OS
El nombre del sistema operativo en el cuál se ejecuta el compilador de PHP; p. ej. 'Linux'.

TRUE
Valor verdadero.

FALSE
Valor falso.

E_ERROR
Denota un error distinto de un error de interpretación del cual no es posible recuperarse.

E_WARNING
Denota una condición donde PHP reconoce que hay algo erróneo, pero continuará de todas formas; pueden ser capturados por el propio archivo de comandos. Un ejemplo sería una inválida regexp en ereg().

E_PARSE
El interprete encontró sintaxis inválida en el archivo de comandos. La recuperación no es posible.

E_NOTICE
Ocurrió algo que pudo ser o no un error. La ejecución continúa. Los ejemplos incluyen usar una cadena sin comillas como un índice "hash", o acceder a una variable que no ha sido inicializada.

Las constantes E_* se usan típicamente con la función error_reporting()  para configurar el nivel de informes de error.

Veamos ahora un ejemplo del uso de las constantes __FILE__ y __LINE__ :

<?php
function report_error($file, $line, $message) {
echo "Un error occurrió en $file en la línea $line: $message.";
}
report_error(__FILE__,__LINE__, "Algo fue mal!");
?>


Operadores Aritméticos

Los operadores aritméticos, como su nombre indica, funcionan igual que las tablas de aritmética básica que todo el mundo debería conocer:

$a + $b
$a - $b
$a * $b
$a / $b
$a % $b
$a++
$a--
++$a
--$a
Suma
Resta
Multiplicación
División
Resto de la división de $a por $b
Incrementa en 1 a $a
Resta  1 a $a
Incrementa $a en uno y después devuelve $a
Decrementa $a en uno y después devuelve $a


Operadores de Cadenas

Existen dos operadores de cadenas: El operador de concatenación (.) , que devuelve el resultado de concatenar los operandos izquierdo y derecho, y el operador de concatenación y asignación (.=) . Veamos un ejemplo de su uso:

$a = "Hola ";
$b = $a . "Mundo!"; // ahora $b contiene "Hola Mundo!"


$a = "Hola ";
$a .= "Mundo!"; // ahora $a contiene "Hola Mundo!"



Operadores de Comparación

Estos operadores permiten la comparación entre dos valores:

$a <  $b    $a menor que $b
$a >  $b    $a mayor que $b
$a <= $b    $a menor o igual que $b
$a >= $b    $a mayor o igual que $b
$a == $b    $a igual que $b
$a != $b    $a distinto que $b

Otro operador condicional es el operador "?:" (o ternario), que funciona como en C y otros muchos lenguajes:

(expr1) ? (expr2) : (expr3);

La expresión toma el valor expr2 si expr1 se evalúa a cierto, y expr3 si expr1 se evalúa a falso.


Operadores Lógicos

$a AND $b
$a &&  $b
$a OR  $b
$a !!  $b
$a XOR $b
!$a     
Verdadero si ambos son verdadero
Verdadero si ambos son verdadero
Verdadero si alguno de los dos es verdadero
Verdadero si alguno de los dos es verdadero
Verdadero si sólo uno de los dos es verdadero
Verdadero si $a es falso, y recíprocamente



Operadores de Asignación

El operador básico de asignación es "=". A primera vista podriamos pensar que es el operador de comparación "igual que". Pero no. Realmente significa que el operando de la izquierda toma el valor de la expresión a la derecha, (esto es, "toma el valor de").
El valor de una expresión de asignación es el propio valor asignado. Esto es, el valor de $a = 3 es 3. Esto permite hacer cosas curiosas como

$a = ($b = 4) + 5; // ahora $a es igual a 9, y $b vale 4.

Además del operador básico de asignación, existen los "operadores combinados" para todas las operaciones aritméticas y de cadenas que sean binarias. Este operador combinado te permite, de una sola vez, usar una variable en una expresión y luego establecer el valor de esa variable al resultado de la expresión. Por ejemplo:

$a = 3;
$a += 5; // establece $a a 8, como si hubiésemos escrito: $a = $a + 5;
$b = "Hola ";
$b .= "Ahí!"; // establece $b a "Hola Ahí!", igual que si hiciésemos $b = $b . "Ahí!";


Fijemonos en que la asignación realiza una nueva copia de la variable original (asignación por valor), por lo que cambios a la variable original no afectan a la copia. Esto puede tener interés si necesitas copiar algo como un array con muchos elementos dentro de un bucle que se repita muchas veces (cada vez se realizará una nueva copia del array). PHP4 soporta asignación por referencia, usando la sintaxis $var = &$othervar , pero esto no es posible en PHP3. 'Asignación por referencia' quiere decir que ambas variables acabarán apuntando al mismo dato y que nada se copia realmente.

Operadores Bit a Bit

Los operadores bit a bit te permiten activar o desactivar bits individuales de un entero.

$a & $b
$a | $b
$a ^ $b
~ $a
$a << $b
$a >> $b
Y
O
Xor
No
Desp. Izqda
Desp. Dcha.
Se activan los bits que están activos tanto en $a como $b.
Se activan los bits que están activos en $a o que lo están en $b.
Se activan los bits que están activos en $a o en $b pero no en ambos a la vez.
Se activan los bits que no están activos en $a.
Desplaza los bits de $a, $b posiciones hacia la izquierda.
Desplaza los bits de $a, $b posiciones hacia la derecha .


Operador de Ejecución

PHP soporta un operador de ejecución: el apóstrofe invertido (``). PHP intentará ejecutar la instrucción contenida dentro de los apóstrofes invertidos como si fuera un comando del shell; y su salida devuelta como el valor de esta expresión (No tiene por qué ser simplemente volcada como salida; puede asignarse a una variable).

$output = `ls -al`;
echo "<pre>$output</pre>";



Precedencia de Operadores

La precedencia de operadores especifica cómo se agrupan las expresiones. Por ejemplo, en la expresión 1 + 5 * 3 , la respuesta es 16 y no 18 porque el operador de multiplicación ("*") tiene una mayor precedencia que el de adición ("+").
La siguiente tabla lista la precedencia de operadores, indicándose primero los de menor precedencia:

izquierda
izquierda
izquierda
izquierda
derecha
izquierda
izquierda
izquierda
izquierda
izquierda
izquierda
izquierda
no asociativo
no asociativo
izquierda
izquierda
izquierda
derecha
derecha
no asociativo
,
or
xor
and
print
= += -= *= /= .= %= &= |= ^= ~= <<= >>=
? :
||
&&
|
^
&
== != ===
< <= > >=
<< >>
+ - .
* / %
! ~ ++ -- (int) (double) (string) (array) (object) @
[
new

 

Comentario[s]

Sólo los usuarios registrados pueden escribir comentarios.
Por favor, valídate o regístrate.

Powered by AkoComment 2.0!

 
< Anterior   Siguiente >