Beruflich Dokumente
Kultur Dokumente
Define (constante, valor): Esta funcin nos permite crear una constante
asignndole su nombre y su valor a travs de los parmetros que recibe.
Defined (constante): Esta funcin devuelve true si la constante est definida
y existe.
1.6.1 Constantes Predefinidas
Constante Significado
PHP_VERSION Cadena que representa la versin del intrprete de PHP en uso.
PHP_OS Cadena con el nombre del sistema operativo con el que se est
ejecutando el intrprete de PHP.
TRUE Verdadero.
FALSE Falso.
E_ERROR Informacin sobre errores distintos a los de interpretacin del cual
no es posible recuperarse.
E_PARSE Informa que el intrprete encontr una sintaxis invlida en el archivo
de comandos. Finaliza la ejecucin.
E_NOTICE Informa que se produjo algo incorrecto que puede provenir o no de
un error. La ejecucin contina.
E_WARNING Denota un error que no impide que contine la ejecucin.
E_ALL Conjunto con todos los errores que se han producido.
1.7 Operadores
Los operadores en PHP son muy parecidos a los de otros lenguajes como C,
Java y Javascript.
Se utilizan para determinar un valor, o bien, para obtener un valor final a partir
de uno o ms operandos. Podemos encontrar varios tipos de operadores.
1.7.1 Operadores Aritmticos
Estos operadores funcionan igual que en la aritmtica bsica y se pueden
aplicar a las variables y constantes numricas. Son los siguientes:
Operador Ejemplo Descripcin
+ $a + $b Suma dos operandos.
- $a - $b Resta dos operandos.
* $a * $b Multiplica dos operandos.
/ $a / $b Divide dos operandos.
% $a % $b Resto de la divisin entera
1.7.2 Operadores de asignacin
El operador de asignacin ms utilizado es =; su funcin bsica es asignar un
valor a una variable, para que de este modo se pueda conservar dicho valor en
If (condicin) {
[sentencias]
}
El intrprete de PHP lo que hace es evaluar la condicin, que debe ser una
expresin lgica y, si resulta verdadera, se ejecutarn las sentencias
comprendidas entre las llaves { y } y, si es falsa, PHP ignorar las
sentencias y seguir con la ejecucin normal del programa, es decir, nos
permite tomar decisiones en torno a una condicin.
Las sentencias if se pueden anidar, es decir, podemos poner dentro de un
bloque if otras sentencias if, lo cual proporciona una flexibilidad completa para
ejecuciones condicionales.
<?php
$a = 3;
$b = 7;
$c = 9;
echo El numero mayor es:;
if($a > $b) {
if($a > $c) {
echo $a;
}
}
if($b > $a) {
if($b > $c) {
echo $b;
}
If ($c > $b) {
echo $c;
}
}
?>
2.1.2 If else
La sentencia ifelse consta de un bloque if que se ejecuta cuando la expresin
se evala a true y de un bloque else cuyas instrucciones se ejecutarn cuando
se evala a false. La sintaxis de la instruccin ifelse es la siguiente:
If (expresin) {
[sentencias]
} else {
[sentencias]
}
2.1.3 Ifelseif
Hay muchas ocasiones en que se quiere evaluar una nueva comprobacin
utilizando una sentencia if dentro del cuerpo de una sentencia else; para estos
casos se puede utilizar la sentencia elseif que nos permite combinar ambas
sentencias en una sola. La sintaxis de la sentencia ifelseif es la siguiente:
If(expresin) {
[sentencias]
} elseif(expresin) {
[sentencias]
} elseif(expresin) {
[sentencias]
} else {
[sentencias]
}
Ejemplo:
<?
echo Hoy es: ;
$dia = date(D);
if($dia == Mon) echo Lunes;
elseif($dia == Tue) echo Martes;
elseif($dia == Wed) echo Mircoles;
elseif($dia == Thu) echo Jueves;
elseif($dia == Fri) echo Viernes;
elseif($dia == Sat) echo Sbado;
else echo Domingo;
?>
2.1.4 If compacto
PHP utiliza dos operadores (? y :) para formar expresiones condicionales
que devolvern uno de dos posibles valores basndose en el valor lgico
obtenido al evaluar una expresin. La sintaxis de estos operadores es:
<expresion1> ? <expresion2> : <expresion3>;
De este modo considerando expresin1, si sta se evala a true, entonces de
devolvera la evaluacin de expresin2; en caso contrario, el valor devuelto
sera el resultado de evaluar la expresin3.
<?php
$a = 3;
$b = 7;
$c = 9;
$mayor = ($a > $b) ? $a : $b;
echo El mayor es;
echo ($mayor < $c) ? $c : $mayor;
?>
2.1.5 Switch
La sentencia switch se utiliza para compara un dato con un conjunto de
posibles valores. Esta tarea se puede realizar utilizando mltiples sentencias if
o con una sentencia ifelseif mltiple, pero la sentencia switch es mucho ms
legible y nos permite especificar un conjunto de sentencias por defecto, en el
caso de que el dato no tenga un valor con que compararlo.
Switch($variable) {
case valor N: [sentencias]
[break;]
[default: sentencias; ]
}
Ejemplo:
<?php
echo Hoy es: ;
$dia = date(D);
switch($dia) {
case Mon: echo Lunes; break;
case Tue: echo Martes; break;
case Wed: echo Mircoles; break;
case Thu: echo Jueves; break;
case Fri: echo Viernes; break;
case Sat: echo Sbado; break;
default: echo Domingo;
}
?>
2.1.6 For
Esta instruccin nos permite realizar un conjunto de instrucciones un
determinado nmero de veces. Es una de las estructuras de control
sintcticamente ms compleja de PHP.
For ([inicializacin]; [condicin]; [bucles]) {
[sentencias]
}
Las tres expresiones cerradas entre parntesis son opcionales, pero es
necesario escribir los caracteres punto y coma (;) que las separan aunque las
expresiones se omitan, para que cada expresin permanezca en el lugar
apropiado.
<?
echo La suma de los 10 primeros nmeros enteros es: ;
$suma = 0;
for($i = 1; $i <= 10; $i++) {
$suma += $i;
echo $i;
if($i == 10) echo =;
else echo +;
}
echo <strong>$suma</strong>;
?>
2.1.7 Foreach
Esta sentencia nos permite recorrer las estructuras de tipo array de una forma
sencilla, obteniendo en cada paso de la iteracin uno de sus elementos
componentes. Tambin se suele utilizar para traducir tablas de tipo hash.
Foreach($array as $variable) {
[sentencias]
}
Lo que hace el bucle es recorrer cada uno de los elementos del array que tiene
por nombre $array, asignado en cada paso el valor del elemento actual del
array al contenido de la variable $variable. El bucle hace uso de un puntero
interno que apunta a la posicin actual del array (comenzando por la primera y
siguiendo en orden ascendente) y que va actualizando de forma automtica en
cada una de las iteraciones.
<?php
$array=array("Manzana","Pera","Platano");
reset($array);
foreach ($array as $fruta){
echo "Fruta:$fruta<br>\n";
}
?>
Tambin est funcin se puede aplicar a un array de tipo asociativo, en el que
el ndice en cada elemento no es de tipo numrico.
$a=array(
"uno"=>1,
"dos"=>2,
"tres"=>3,
"diecisiete"=>17
);
foreach($a as $k=>$v){
echo $a[$k]=>$v;
}
2.1.8 While
La sentencia while acta de forma muy parecida a la sentencia for, pero se
diferencia de sta en que no incluye en su declaracin la inicializacin de la
variable de control del bucle ni su incremento o decremento. Por tanto dicha
variable se deber declarar antes del bucle while y su incremento y
decremento se deber realizar dentro del cuerpo de dicho bucle.
While (condicin) {
[sentencias]
}
Con esta instruccin se va a poder ejecutar un conjunto de instrucciones un
indeterminado nmero de veces, siempre y cuando el resultado de comprobar
la condicin sea verdadera (debe ser una expresin que se evale a un valor
modo PHP al acabar de leer dicho archivo. Por esta razn, cualquier cdigo
dentro del archivo referenciado que debiera ser ejecutado como cdigo PHP
debe ser encerrado dentro de etiquetas vlidas de comienzo y fin de PHP.
variables.php
<?php
$color='verde';
$fruta='manzana';
?>
prueba.php
echo "Una $fruta $color";//Una
include 'variables.php';
echo "Una $fruta $color"; //Una Manzana Verde
2.1.10 Require
La sentencia require() incluye y evala el archivo especificado. Require() e
include() son idnticas en todos los aspectos excepto en el modo de actuar
ante un error. include() produce un Warning mientras que require() produce
un Error Fatal. En otras palabras, no dude en utilizar require() si quiere que un
fichero no encontrado cuelgue el procesamiento de la pgina.
include() no se comporta de esta manera, el script seguir funcionando de
todas maneras.
Asegurarse que include_path este configurado bien.
3 Cadenas
Echo (cadena), print (cadena): No son funciones propiamente dichas, sino
construcciones del lenguaje. Ambas muestran informacin por la salida
estndar; no soportan ningn atributo de formato de salida y slo admiten una
nica cadena como argumento en su llamada (cuando necesitamos pasar ms
de un argumento a cualquiera de estas funciones, deberemos utilizar las
comillas).
Printf (formato [, argumentos]): Imprime informacin por la salida estndar
soportando diferentes formatos de salida. Admite mltiples tipos de
argumentos a visualizar. Imprime una cadena cuyo estructura depende del
formato descrito en el argumento formato. Esta cadena est formada por una
ristra de caracteres, algunos de los cuales se mostrarn directamente,
mientras que otros, los que van precedidos por el carcter %, conocidos
como especificaciones de conversin, son utilizados para formatear la
informacin.
Strlen(cadena): Devuelve la longitud de la cadena pasada como argumento.
Strstr(cadena, cadBusq), strchr(cadena, cadBusq): Busca la aparicin de
una cadena dentro de otra y devuelve la subcadena comprendida entre la
primera aparicin de la cadena buscada (incluyndola) hasta el final de la
El constructor array() tambin nos permite asignar los elementos del array en
el orden en que queramos. Para ello, indicamos el ndice, seguido del smbolo
=> y el valor del elemento.
Ejemplo:
$vector = array(2 => Manzana, 0 => Platano, Pera);
Los elementos a los que no se les asigna explcitamente un ndice toman la
posicin secuencial relativa a la ltima asignacin de posicin dentro del array.
Arrays Asociativos
A diferencia de los arrays simples, los arrays asociativos (tambin conocidos
como tablas hash o arrays indexados por cadena) estn formados por un
conjunto de valores que estn ordenados respecto a un ndice de tipo string, es
decir, una cadena de caracteres.
De igual manera que ocurre con los arrays simples, podemos utilizar el
constructor del lenguaje array() para definirlos, o bien, hacerlo especificando
de forma explcita cada uno de sus componentes.
Ejemplo:
$vector = array(animal => Perro, nombre => Valiente, raza =>
Labrador,
sexo => Masculino);
Arrays Multidimensionales
PHP nos permite definir arrays multidimensionales mediante la combinacin de
arrays unidimensionales (que pueden ser tanto de tipo escalar, como
asociativos).
Ejemplo:
$matriz[0][0] = Salud;
$matriz[0][1] = Dinero;
$matriz[1][0] = Amor;
$matriz[1][1] = Sexo;
$matriz[peso][moneda] = Pesos;
$matriz[peso][cambio] = 10;
$matriz[dolar][moneda] = Dlar;
$matriz[dolar][cambio] = 0.1;
Funciones para arrays
Current(array): Devuelve el valor de la posicin actual del puntero dentro del
array: todos los arrays tienen un puntero interno que apunta a la posicin del
elemento actual con el que se est trabajando en un momento dado.
Key(array): Devuelve el ndice de la posicin actual del array pasado como
argumento.
Next(array): Devuelve el valor del elemento siguiente al actual (si existe) y
avanza el puntero interno una posicin.
Echo !Boom!;
}
?>
<?php
cuentaAtras();
?>
En ocasiones, necesitaremos definir funciones que aceptan parmetros o
argumentos. De esta forma conseguimos que la funcin sea ms utilizable
dentro del propsito general para el que est definida.
<?php
Function cuentaAtras($inicio) {
For($i = $inicio; $i>0; $i--)
echo $i.<br />;
echo !Boom!;
}
cuentaAtras(5);
?>
Variables globales son todas aqullas que se definen fuera del cuerpo de una
funcin y son accesibles, en general, desde cualquier punto del cdigo.
En PHP, las variables globales deben ser declaradas globales dentro de la
funcin si van a ser utilizados dentro de dicha funcin, anteponiendo a su
definicin la palabra reservada global. Un segundo mtodo para acceder a las
variables globales desde un mbito local es usando el array $GLOBALS (es un
array asociativo con el nombre de la variable global como clave y los
contenidos de dicha variable como el valor del elemento del array).
Variables locales aparecen definidas dentro del cuerpo de una funcin y slo
pueden ser accedidas desde dentro de esta funcin. Cualquier variable que se
use dentro de una funcin est, por defecto, limitada al mbito local de la
funcin. Esto quiere decir que, si declaramos una variable local con el mismo
nombre que una variable global, dentro de la funcin trabajaremos con la
versin local de la variable.
<?php
$inicio = 0;
$final = 9;
Function cuentaAtras() {
Global $final; #Variable global.
$inicio = 7; #Variable local.
Static $num = 0; #Variable esttica
For(;$inicio>$final;$inicio--)
Echo $inicio.<br>;
$num++;
Echo !Boom -$num-;
}
cuentaAtras(); //$num vale 1.
se
ya
es
la
H Hora en formato 00 a 23
g Hora en formato 1 a 12 (sin cero)
G Hora en formato 0 a 23 (sin cero)
i Minutos de 00 a 59
j Da del mes en formato 1 a 31 (sin cero)
l Da de la semana, en texto completo
L 1: si es ao bisiesto, 0: si no es un ao bisiesto.
m Mes de 01 a 12
M Mes con tres caracteres
n Mes de 1 a 12
s Segundos de 00 a 59
S Sufijo ordinal en ingls (th, nd)
t Nmero de das del mes dado, de 28 a 31
U Segundos transcurridos desde el valor de inicio (01-01-1970)
w Da de la semana de 0 (domingo) a 6 (sbado)
y Ao con cuatro dgitos
Y Ao con dos dgitos
z Da del ao de 0 a 365
Z Diferencia horaria en segundos de 43200 a 43200
7 Cookies y sesiones
Los usuarios normalmente completan un formulario modificando sus controles
(introduciendo texto, seleccionando objetos de un men, etc.), antes de enviar
el formulario a un agente para que lo procese (por ejemplo, a un servidor Web,
a un servidor de correo, etc.). Todos los controles presentes en un formulario,
para que sean efectivos, deben aparecer incluidos dentro de un elemento form
de HTML. La etiqueta FORM acta, por tanto, como contenedor de controles.
Pero, adems, especifica entre otros:
-El programa que manejar los datos del formulario una vez haya sido
completado y enviado (atributo action). El programa receptor debe ser capaz
de interpretar las parejas nombre/valor para poder hacer uso de ellas.
-La forma en la que se enviarn los datos del usuario al servidor (atributo
method).
-El tipo MIME usado para enviar los datos del formulario (atributo enctype). El
valor por defecto de este atributo es application/x-www-form-urlencode.
El atributo method del elemento form especifica el mtodo HTTP usado para
enviar los datos del formulario al agente procesador. Este atributo puede tener
dos valores:
Get: El conjunto de datos del formulario se agrega (con el carcter ? como
separador) al URI especificado en el atributo action (el programa que tratar
los datos) y este nuevo URI se enva al agente procesador.
Post: Los datos del formulario se incluyen en el cuerpo del mensaje que se
enva al agente procesador.
-> ñ
->
->
->
->
->
á
é
í
ó
ú