Conceptos basicos de PHP
DEFINIR E IDENTIFICAR LOS SIGUIENTES TERMINOS:
Operadores aritméticos ¶
¿Recuerda la aritmética básica de la escuela? Estos funcionan igual que aquellos.
| Ejemplo | Nombre | Resultado |
|---|---|---|
| +$a | Identidad | Conversión de $a a int o float según el caso. |
| -$a | Negación | Opuesto de $a. |
| $a + $b | Adición | Suma de $a y $b. |
| $a - $b | Sustracción | Diferencia de $a y $b. |
| $a * $b | Multiplicación | Producto de $a y $b. |
| $a / $b | División | Cociente de $a y $b. |
| $a % $b | Módulo | Resto de $a dividido por $b. |
| $a ** $b | Exponenciación | Resultado de elevar $a a la potencia $bésima. Introducido en PHP 5.6. |
El operador de división ("/") devuelve un valor flotante a menos que los dos operandos sean integers (o strings que se conviertan a integers) y los números sean divisibles, en cuyo caso será devuelto un valor integer.
Los operandos del módulo se convierten en integers (por extracción de la parte decimal) antes del procesamiento.
El resultado del operador módulo % tiene el mismo signo que el dividendo — es decir, el resultado de $a % $b tendrá el mismo signo que $a. Por ejemplo:
<?php
echo (5 % 3)."\n"; // muestra 2
echo (5 % -3)."\n"; // muestra 2
echo (-5 % 3)."\n"; // muestra -2
echo (-5 % -3)."\n"; // muestra -2
?>Véase también la página del manual sobre funciones matemáticas.
Sintaxis y reglas al emplear PHP
Al usar PHP siempre debemos de tener en cuenta las siguientes reglas:
Todo lo que deseamos escribir en una página (cadena o string) debe estar encerrado entre comillas simples o dobles.
Para escribir se usa el comando ECHO y a continuación la cadena.
Por ejemplo:
<?php
echo 'texto a escribir';
?>
Para escribir caracteres como tales sin que PHP los considere parte de código, es necesario escaparlos anteponiendo una barra invertida.Por ejemplo:
<?php
echo 'algo \'importante\'';
?>
Si una línea comienza con dos barras invertidas // o con # entonces no funciona porque se considera un comentario.Por ejemplo:
<?php
// escribir salto de linea
echo '<br>';
?>
Definir variables en PHP nos es util en todo el codigo que hagamos, ya que las variables son la principal herramienta para administrar informacion y datos de nuestra aplicación web a realizar.
Para definir variables en PHP no es necesario asignarlas un tipo, así que solo tendremos que hacer la definición del nombre de la variable.
Los nombres de las variables en PHP empiezan por el signo $ y luego el nombre de variable. Los nombres de las variables en PHP son sensibles a mayúsculas y deben de empezar por una letra o subrayado, el resto de la variable puede ser letra, número o subrayado.
De esta forma podemos tener las siguientes variables:
$mivariable;
$_mivariable;
$mivariable1;Así no serían correctas las siguientes variables en PHP:
$1variable;
$?mivariable;Para asignar valor a una variable en PHP utilizaremos un signo de igual seguido del valor a asignar a la variable y punto y coma al final. Veamos algunos ejemplos:
$variable1="hola mundo"; //cadenas largas
$variable2='hola mundo'; //cadenas cortas
$variable3="6646564"; //numero en cadenas
$variable4=34645; //numero entero simple
$variable5=57356.5645; //numero decimal simple
$variable6=null; //nulo
El tipo de la variable depende del valor que le asignemos. Así, si le asignamos una cadena, la variable será del tipo cadena y si le asignamos un número será una variable numérica.
Si queremos mostrar el valor de una variable en PHP solo tenemos que utilizar la sentencia echo seguida del nombre de la variable.
echo $variable1;Además es bueno saber que podemos concatenar variables o contenido utilizando el punto como separador.
echo "La suma de ".$num1."+".$num2." es de ".$num1+$num2;Espero que con este sencillo artículo hayas podido ver cómo definir y manejar las variables en PHP.
OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP
Los operadores de comparación permiten comparar dos valores, tal y como su nombre indica. En general, esto nos servirá para tomar decisiones. Por ejemplo, quizás tenemos que decidir si autorizar una operación según exista saldo suficiente en su cuenta bancaria o no. Para ello en PHP disponemos de los operadores que se indican en la siguiente tabla.
Nombre | Ejemplo | Resultado |
Mayor que | $a > $b | true si $a es mayor que $b false en caso contrario |
Menor que | $a < $b | true si $a es menor que $b false en caso contrario |
Mayor o igual que | $a >= $b | true si $a es mayor o igual que $b false en caso contrario |
Menor o igual que | $a <= $b | true si $a es menor o igual que $b false en caso contrario |
Diferente | $a <> $b ó $a != $b | true si $a es diferente a $b false en caso contrario |
Idéntico o estrictamente igual | $a === $b | true si $a es igual a $b y son del mismo tipo false en caso contrario |
No idéntico o estrictamente distinto | $a ¡== $b | true si $a no es igual a $b o no son del mismo tipo false en caso contrario |
Igual | $a == $b | true si $a es igual a $b false en caso contrario |
La sintaxis coincide con la empleada en otros lenguajes de programación.
Además de los operadores habituales existen los operadores === que se interpreta como “es estrictamente igual” y !== que se interpreta como “no es estrictamente igual”. Estos operadores resultan un poco más complejos de comprender por lo que volveremos a hablar de ellos más adelante. De momento tener en cuenta que si una variable contiene $texto1= “1” y hacemos la comparación $texto1 === 1 , obtendremos false, es decir, que no es igual (porque un texto no es igual a un número). Sin embargo una comparación como $texto == 1 devolverá true ya que esta comparación no es estricta y trata de realizar automáticamente conversiones para comprobar si se puede establecer una equivalencia entre los dos valores. En este caso se busca el equivalente numérico del texto y luego se hace la comparación, motivo por el cual se obtiene true.
Es decir, si se compara un número con una cadena de caracteres o la comparación implica cadenas de caracteres numéricas, cada cadena de caracteres es convertida en un número y la comparación se realizará numéricamente excepto cuando el operador utilizado es === o ¡== porque, en estos casos, también comparamos el tipo.
OPERADORES LÓGICOS EN PHP
Los operadores lógicos, nos permiten crear condiciones para las distintas estructuras en PHP, tanto en estructuras condicionales como en estructuras repetitivas. Los operadores lógicos más importantes son and (en español: y) y or (en español: o)
Nombre | Ejemplo | Resultado |
and ó && | $a and $b | true si $a es true y $b es true false en caso contrario |
or ó || | $a or $b | true si $a o $b es true, o ambos false en caso contrario |
xor | $a xor $b | true si $a o $b es true, pero no ambos false en caso contrario |
not ó ! | !$a | true si $a no es true false en caso contrario |
Una condición puede ser tan larga como se quiera o necesite y usar tantos operadores lógicos como se quiera o necesiten. El uso de los paréntesis otorgará la prioridad de la ejecución de unas operaciones y otras (como en matemáticas).
Las expresiones donde se utilizan operadores lógicos y relacionales devuelven un valor booleano, es decir, verdadero (true) o falso (false). Por ejemplo si $a = 7 y $b = 5 la expresión $a < $b devuelve false (es falsa). Si $a = true y $b = false la expresión $a && $b devuelve false (es falsa porque no se cumple que $a y $b sean verdaderas). Si $a = true y $b = false la expresión $a || $b devuelve true porque uno de los dos operandos es verdadero. Si $a = true la expresión !a devuelve false (el opuesto o contrario).
El operador || se obtiene en la mayoría de los teclados pulsando ALT GR + 1, es decir, la tecla ALT GR y el número 1 simultáneamente.
Los operadores && y || se llaman operadores en cortocircuito porque si no se cumple la condición de un término no se evalúa el resto de la operación. Por ejemplo: ($a == $b && $c != $d && $h >= $k) tiene tres evaluaciones: la primera comprueba si la variable a es igual a b. Si no se cumple esta condición, el resultado de la expresión es falso y no se evalúan las otras dos condiciones posteriores.
En un caso como ( $a < $b || $c != $d || $h <= $k) se evalúa si a es menor que b. Si se cumple esta condición el resultado de la expresión es verdadero y no se evalúan las otras dos condiciones posteriores.
El operador ! recomendamos no usarlo hasta que se tenga una cierta destreza en programación. Una expresión como (!$esVisible) devuelve false si ($esVisible == true), o true si ($esVisible == false). En general existen expresiones equivalentes que permiten evitar el uso de este operador cuando se desea.
Operadores de Relacionales
Los operadores relacionales se usan para evaluar expresiones condicionales y se basan en el concepto de verdadero o falso
| Operador | Símbolo | Ejemplo |
|---|---|---|
| Mayor que | > | 3 > 4 FALSO 8 > 5 VERDADERO |
| Mayor o igual que | >= | 3 >= 3 VERDADERO 4 >= 4 FALSO |
| Menor que | < | 4 < 6 VERDADERO 7 < 4 FALSO |
| Menor igual que | <= | 2 <= 2 VERDADERO 3 <= 2 FALSO |
| Igual | == | 4 = 4 VERDADERO 3 = 4 FALSO |
| Distinto | != | 6 != 7 VERDADERO 7 != 7 FALSO |
Tipos de datos en PHP
Los principales tipos de datos (considerados tipos de datos escalares) en PHP son:
- boolean: almacenan valores verdadero o falso (true / false).
- integer: números enteros.
- float: números con decimales, usando el punto como separador decimal.
- string: cadenas de texto.
NOTA: si intentamos realizar una operación de comparación con una variable cuyo valor es cero se considera que es false, y si contiene cualquier otro número se considera que es true:
- <?php
- $var1 = 0;
- $var2 = "";
- $var3 = null;
- $var4 = -1;
- $var5 = 3;
- $var6 = -4;
- if( $var1 == false )
- echo "(0) es lo mismo que false<br/>";
- if( $var2 == false )
- echo "una cadena vacía es lo mismo que false<br/>";
- if( $var3 == false )
- echo "null es lo mismo que false<br/>";
- if( $var4 == true)
- echo "(-1) es lo mismo que true<br/>";
- if( $var5 == true )
- echo "(3) es lo mismo que true<br/>";
- if( $var6 == true )
- echo "(-4) es lo mismo que true<br/>";
- echo "----------------<br/>";
- echo "Fin del ejemplo.";
- ?>

Como puedes observar hemos usado la sentencia condicional if() (la explicaremos más adelante) para comparar algunos números con los valores lógicos true y false, siendo el resultado:
Para evitar los problemas que puedan surgir asegúrate bien de estar comparando con una variable lógica que contenga un valor true o false.
También puedes usar la función is_bool() (que veremos un poco más adelante) antes de realizar la comparación.
PHP también incluye los siguientes tipos de datos compuestos (los trataremos en profundidad más adelante):
- array: usados para almacenar varios valores.
- object: almacena objetos en PHP.
Incluye también los siguientes tipos de datos especiales:
- resource: hace referencia a recursos tales como archivos abiertos, conexiones establecidas con bases de datos, etc.
- null: indique el valor está vacío (no contiene nada).

Relacionado: [ Tipos de datos en lenguajes de programación ]
Los principales tipos de datos (considerados tipos de datos escalares) en PHP son:
- boolean: almacenan valores verdadero o falso (true / false).
- integer: números enteros.
- float: números con decimales, usando el punto como separador decimal.
- string: cadenas de texto.
NOTA: si intentamos realizar una operación de comparación con una variable cuyo valor es cero se considera que es false, y si contiene cualquier otro número se considera que es true:
- <?php
- $var1 = 0;
- $var2 = "";
- $var3 = null;
- $var4 = -1;
- $var5 = 3;
- $var6 = -4;
- if( $var1 == false )
- echo "(0) es lo mismo que false<br/>";
- if( $var2 == false )
- echo "una cadena vacía es lo mismo que false<br/>";
- if( $var3 == false )
- echo "null es lo mismo que false<br/>";
- if( $var4 == true)
- echo "(-1) es lo mismo que true<br/>";
- if( $var5 == true )
- echo "(3) es lo mismo que true<br/>";
- if( $var6 == true )
- echo "(-4) es lo mismo que true<br/>";
- echo "----------------<br/>";
- echo "Fin del ejemplo.";
- ?>

Como puedes observar hemos usado la sentencia condicional if() (la explicaremos más adelante) para comparar algunos números con los valores lógicos true y false, siendo el resultado:
Para evitar los problemas que puedan surgir asegúrate bien de estar comparando con una variable lógica que contenga un valor true o false.
También puedes usar la función is_bool() (que veremos un poco más adelante) antes de realizar la comparación.
PHP también incluye los siguientes tipos de datos compuestos (los trataremos en profundidad más adelante):
- array: usados para almacenar varios valores.
- object: almacena objetos en PHP.
Incluye también los siguientes tipos de datos especiales:
- resource: hace referencia a recursos tales como archivos abiertos, conexiones establecidas con bases de datos, etc.
- null: indique el valor está vacío (no contiene nada).

Relacionado: [ Tipos de datos en lenguajes de programación ]
Crear y eliminar variables en PHP
Al igual que sucede en otros lenguajes de programación como JavaScript, las variables en PHP no se declaran (crean) indicando el tipo de dato que debe contener en todo momento: así pues es posible crear una variable asignándole un número entero y posteriormente asignarle una cadena de texto, por ejemplo.
Para declarar una variable en PHP se antepone el símbolo del dólar '$' a su nombre:
- <?php
- $c123 = 57.8;
- $nombre = "PEDRO";
- $miVariable1;
- $miVariable1 = "3P8";
- $miVariable2 = null;
- // Mostrar el valor de las variables:
- echo "El valor de 'c123' es: ".$c123."<br/>";
- echo "El valor de 'nombre' es: ".$nombre."<p/>";
- // También puede hacerse así:
- echo "El valor de 'miVariable1' es: $miVariable1<br/>";
- echo "El valor de 'miVariable2' es: $miVariable2<p/>";
- echo "----------------<br/>";
- echo "Fin del ejemplo.";
- ?>
Observa que cuando se asigna una cadena de texto como valor de una variable, debe ir entre comillas.
Fíjate también en que para concatenar (unir) una cadena de texto con el valor de una variable podemos usar un punto (es operador de concatenación en PHP), o bien simplemente escribir el nombre de la variable dentro de la cadena de texto entre comillas dobles (incluyendo el símbolo '$').
En la siguiente imagen puedes ver el resultado del ejemplo:

En el ejemplo anterior para "miVariable2" no se muestra valor alguno, ya que se la ha asignado un valor null (vacío, no contiene nada).
Si deseamos eliminar una variable en PHP (y con ello liberar memoria en el servidior) usaremos la función unset(), teniendo en cuenta el ámbito de la variable (si se trata de una variable global o una variable local) así como si se trata de una variable estática o ha sido pasada por referencia (a la dirección en memoria en la que se encuentra) a una función en PHP (consulta el enlace proporcionado a continuación para más información).

Vea también: [ Variables en PHP ] - [ Ámbito de las variables en PHP ] - [ Funciones de manejo de variables ] - [ unset() ]

Las variables se eliminan automáticamente cuando se termina de procesar un script en PHP (el archivo .php, no el código fuente contenido entre las etiquetas <?php ... ?>), liberándose la memoria que ocupaban.
Si se necesita pasar valores entre diferentes páginas en PHP podrás utilizar variables de sesión, las cuales explicaremos más adelante.
Al igual que sucede en otros lenguajes de programación como JavaScript, las variables en PHP no se declaran (crean) indicando el tipo de dato que debe contener en todo momento: así pues es posible crear una variable asignándole un número entero y posteriormente asignarle una cadena de texto, por ejemplo.
Para declarar una variable en PHP se antepone el símbolo del dólar '$' a su nombre:
- <?php
- $c123 = 57.8;
- $nombre = "PEDRO";
- $miVariable1;
- $miVariable1 = "3P8";
- $miVariable2 = null;
- // Mostrar el valor de las variables:
- echo "El valor de 'c123' es: ".$c123."<br/>";
- echo "El valor de 'nombre' es: ".$nombre."<p/>";
- // También puede hacerse así:
- echo "El valor de 'miVariable1' es: $miVariable1<br/>";
- echo "El valor de 'miVariable2' es: $miVariable2<p/>";
- echo "----------------<br/>";
- echo "Fin del ejemplo.";
- ?>
Observa que cuando se asigna una cadena de texto como valor de una variable, debe ir entre comillas.
Fíjate también en que para concatenar (unir) una cadena de texto con el valor de una variable podemos usar un punto (es operador de concatenación en PHP), o bien simplemente escribir el nombre de la variable dentro de la cadena de texto entre comillas dobles (incluyendo el símbolo '$').
En la siguiente imagen puedes ver el resultado del ejemplo:

En el ejemplo anterior para "miVariable2" no se muestra valor alguno, ya que se la ha asignado un valor null (vacío, no contiene nada).
Si deseamos eliminar una variable en PHP (y con ello liberar memoria en el servidior) usaremos la función unset(), teniendo en cuenta el ámbito de la variable (si se trata de una variable global o una variable local) así como si se trata de una variable estática o ha sido pasada por referencia (a la dirección en memoria en la que se encuentra) a una función en PHP (consulta el enlace proporcionado a continuación para más información).

Vea también: [ Variables en PHP ] - [ Ámbito de las variables en PHP ] - [ Funciones de manejo de variables ] - [ unset() ]

Las variables se eliminan automáticamente cuando se termina de procesar un script en PHP (el archivo .php, no el código fuente contenido entre las etiquetas <?php ... ?>), liberándose la memoria que ocupaban.
Si se necesita pasar valores entre diferentes páginas en PHP podrás utilizar variables de sesión, las cuales explicaremos más adelante.
Comprobar si existe una variable
En ocasiones, como por ejemplo cuando debamos procesar los datos recibidos de un formulario, necesitaremos comprobar si una variable está definida. Para ello usaremos la función isset():
- <?php
- $var1 = 57.8;
- $var2 = "MARTA";
- $var3;
- $var4 = null;
- $var5 = true;
- $var6 = false;
- $var7 = 0;
- if( isset($var1) == true )
- echo "La variable '\$var1' está definida.<br/>";
- if( isset($var2) == true )
- echo "La variable '\$var2' está definida.<br/>";
- if( isset($var3) == false )
- echo "La variable '\$var3' NO está definida.<br/>";
- if( isset($var4) == false )
- echo "La variable '\$var4' NO está definida.<br/>";
- if( isset($var5) == true )
- echo "La variable '\$var5' está definida.<br/>";
- if( isset($var6) == true )
- echo "La variable '\$var6' está definida.<br/>";
- if( isset($var7) == true )
- echo "La variable '\$var7' está definida.<br/>";
- if( isset($p) == false )
- echo "La variable '\$p' NO está definida.<br/>";
- ?>
En ocasiones, como por ejemplo cuando debamos procesar los datos recibidos de un formulario, necesitaremos comprobar si una variable está definida. Para ello usaremos la función isset():
- <?php
- $var1 = 57.8;
- $var2 = "MARTA";
- $var3;
- $var4 = null;
- $var5 = true;
- $var6 = false;
- $var7 = 0;
- if( isset($var1) == true )
- echo "La variable '\$var1' está definida.<br/>";
- if( isset($var2) == true )
- echo "La variable '\$var2' está definida.<br/>";
- if( isset($var3) == false )
- echo "La variable '\$var3' NO está definida.<br/>";
- if( isset($var4) == false )
- echo "La variable '\$var4' NO está definida.<br/>";
- if( isset($var5) == true )
- echo "La variable '\$var5' está definida.<br/>";
- if( isset($var6) == true )
- echo "La variable '\$var6' está definida.<br/>";
- if( isset($var7) == true )
- echo "La variable '\$var7' está definida.<br/>";
- if( isset($p) == false )
- echo "La variable '\$p' NO está definida.<br/>";
- ?>
echo — Muestra una o más cadenas
Descripción ¶
$arg1 , string $... = ? ) : voidMuestra todos los parámetros. No se pospone ningua nueva línea adicional.
echo no es realmente una función (es una construcción del lenguaje), por lo que no se requiere el uso de paréntesis con él. echo (a diferencia de otras construcciones del lenguaje) no se comporta como una función, es decir no siempre se puede usar en el contexto de una función. Además, si se quiere pasar más de un parámetro a echo, éstos no deben estar entre paréntesis.
echo también posee una sintaxis abreviada, donde se puede poner el símbolo igual justo después de la etiqueta de apertura de PHP. Antes de PHP 5.4.0, este tipo de sintaxis abreviada únicamente funciona con la opción de configuración short_open_tag activada.
I have <?=$foo?> foo.Parámetros ¶
arg1El parámetro a mostrar.
...
Valores devueltos ¶
No devuelve ningún valor.
Ejemplos ¶
Ejemplo #1 Ejemplos de echo
<?php
echo "Hola mundo";
echo "Esto abarca
multiple líneas. Los saltos de línea también
se mostrarán";
echo "Esto abarca\nmúltiples líneas. Los saltos de línea también\nse mostrarán.";
echo "Para escapar caracteres se hace \"así\".";
// Se pueden usar variables dentro de una sentencia echo
$foo = "foobar";
$bar = "barbaz";
echo "foo es $foo"; // foo es foobar
// También se pueden usar arrays
$baz = array("valor" => "foo");
echo "Esto es {$baz['valor']} !"; // Esto es foo !
// Si se utilizan comillas simples, se mostrará el nombre de la variable, no su valor
echo 'foo es $foo'; // foo es $foo
// Si no usan otros caracteres, se puede utilizar echo para mostrar el valor de las variables.
echo $foo; // foobar
echo $foo,$bar; // foobarbarbaz
// Las cadenas pueden ser pasadas individualmente como varios argumentos o
// concatenadas como un único argumento
echo 'Esta ', 'cadena ', 'está ', 'hecha ', 'con múltiple parámetros.', chr(10);
echo 'Esta ' . 'cadena ' . 'está ' . 'hecha ' . 'con concatenación.' . "\n";
echo <<<END
Aquí se utiliza la sintaxis de "here document" para mostrar
múltiples líneas con interpolación de $variable. Nótese
que el finalizador de here document debe aparecer en una
línea con solamente un punto y coma. ¡Nada de espacios extra!
END;
// Ya que echo no se comporta como una función, el siguiente código no es válido.
($variable) ? echo 'true' : echo 'false';
// Sin embargo, el siguiente código funcionará:
($variable) ? print 'true' : print 'false'; // print también es una construcción, pero
// se comporta como una función, por lo que
// puede usarse en este contexto.
echo $variable ? 'true': 'false'; // dando la vuelta a la declaración
?>Notas ¶
Ver también ¶
- print - Mostrar una cadena
- printf() - Imprimir una cadena con formato
- flush() - Vaciar el búfer de salida del sistema
- Sintaxis de Heredoc
User Contributed Notes 2 notes
Passing multiple parameters to echo using commas (',')is not exactly identical to using the concatenation operator ('.'). There are two notable differences.
First, concatenation operators have much higher precedence. Referring to http://php.net/operators.precedence, there are many operators with lower precedence than concatenation, so it is a good idea to use the multi-argument form instead of passing concatenated strings.
<?php
echo "The sum is " . 1 | 2; // output: "2". Parentheses needed.
echo "The sum is ", 1 | 2; // output: "The sum is 3". Fine.
?>
Second, a slightly confusing phenomenon is that unlike passing arguments to functions, the values are evaluated one by one.
<?php
function f($arg){
var_dump($arg);
return $arg;
}
echo "Foo" . f("bar") . "Foo";
echo "\n\n";
echo "Foo", f("bar"), "Foo";
?>
The output would be:
string(3) "bar"FoobarFoo
Foostring(3) "bar"
barFoo
It would become a confusing bug for a script that uses blocking functions like sleep() as parameters:
<?php
while(true){
echo "Loop start!\n", sleep(1);
}
?>
vs
<?php
while(true){
echo "Loop started!\n" . sleep(1);
}
?>
With ',' the cursor stops at the beginning every newline, while with '.' the cursor stops after the 0 in the beginning every line (because sleep() returns 0).The following example shows how to output text with the echo command (notice that the text can contain HTML markup):
<?php
echo "<h2>PHP is Fun!</h2>";
echo "Hello world!<br>";
echo "I'm about to learn PHP!<br>";
echo "This ", "string ", "was ", "made ", "with multiple parameters.";
?>La definición básica de una clase comienza con la palabra reservada class, seguida de un nombre de clase, y continuando con un par de llaves que encierran las definiciones de las propiedades y métodos pertenecientes a dicha clase.
El nombre de clase puede ser cualquier etiqueta válida, siempre que no sea una palabra reservada de PHP. Un nombre válido de clase comienza con una letra o un guión bajo, seguido de una cantidad arbitraria de letras, números o guiones bajos. Como expresión regular, se expresaría de la siguiente forma: ^[a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*$.
Una clase puede tener sus propias constantes, variables (llamadas "propiedades"), y funciones (llamados "métodos").
Poner comentarios en PHP como en todo lenguaje de programación es bastante útil para escribir detalles de implementación de nuestro de código ademas de otras referencias necesarias para entender el código escrito por nosotros.
La forma más natural de escritura de comentarios en PHP tiene dos formas básicas, comentarios largos en los que podemos introducir un bloque con varias frases explicativas o comentarios cortos dónde se explique la información en una sencilla frase.
Para pode explicar la generación de comentarios vamos ha realizar un programa que manipule números en PHP e iremos introduciendo en el diferentes comentarios que hagan explicativo dicho código.
Para escribir comentarios largos se hace uso de /* para iniciar la escritura y */ para finalizar la escritura del comentario de la siguiente manera:
Para escribir comentarios cortos se hace uso de // y a continuación se escribe el comentario en PHP todo en una sola linea hasta el salto de linea de la siguiente manera:
Se puede compaginar los dos tipos de comentarios dentro de un mismo código, es decir que no son excluyentes. Lo más normal es encontrar los comentarios largos al principio del programa o de una función o de una clase, mientras que los comentarios cortos los escribimos delante de sentencias de código que queramos explicar.
Poner comentarios en PHP tienen como finalidad básica la documentación de nuestro código es una buena practica de programación detallar bien el uso de nuestro código.
FORMAS DE ENVÍO DE LOS DATOS DE UN FORMULARIO. MÉTODOS GET Y POST. EJEMPLOS
Cuando un usuario rellena un formulario en una página web los datos hay que enviarlos de alguna manera. Vamos a considerar las dos formas de envío de datos posibles: usando el método POST o usando el método GET.
Por ejemplo: <form action="http://www.aprenderaprogramar.com/prog/newuser" method ="get">
En el ejemplo anterior la acción que se ejecutará cuando el usuario pulse el botón “Enviar” (submit) será el envío de los datos a la url especificada usando el método get.
Veamos el aspecto de un formulario cualquiera para hacernos una idea general.
Este formulario consta de varios campos que al usuario se le solicitan como Nombre, Apellidos, Correo electrónico, País y Mensaje. Posiblemente los nombres de los campos en el código HTML sean del tipo nombre_user, apellidos_user, email_user, pais_user y msg.
La diferencia entre los métodos get y post radica en la forma de enviar los datos a la página cuando se pulsa el botón “Enviar”. Mientras que el método GET envía los datos usando la URL, el método POST los envía de forma que no podemos verlos (en un segundo plano u "ocultos" al usuario).
Un resultado usando el método GET, a modo de ejemplo, podría ser el siguiente:
En esta URL podemos distinguir varias partes: http://www.aprenderaprogramar.com/newuser.php es la dirección web en sí.
El símbolo ? indica dónde empiezan los parámetros que se reciben desde el formulario que ha enviado los datos a la página.
Después del símbolo ? aparecen parejas de datos con su nombre y valor separadas por el símbolo &. Las parejas dato1=valor1, dato2=valor2, dato3=valor3… reflejan el nombre y el valor de los campos enviados por el formulario.
Por ejemplo: nombre=Pepe, apellidos=Flores, etc. nos dice que el campo del formulario que se denomina nombre llega con valor “Pepe” mientras que el campo del formulario que se denomina apellidos llega con valor “Flores”. Estos valores son recibidos en la página web de destino del formulario.
Tener en cuenta que para separar la primera pareja de la dirección web en sí se usa el símbolo ‘?’ y para separar las restantes parejas entre sí se usa el símbolo ‘&’.
Otro aspecto a tener en cuenta es que determinados caracteres no son recibidos en la URL de la misma forma exactamente en que fueron escritos en el formulario. Por ejemplo, el valor del campo email que se recibe en la URL es h52turam%40uco.es, mientras que el usuario en el formulario habrá introducido con toda seguridad h52turam@uco.es. Como vemos, el carácter @ ha sido sustituido por los caracteres %40. Estas equivalencias se introducen automáticamente en la transmisión de datos debido a que las URLs no admiten determinados caracteres como letras con tildes, arrobas y otros. No debes preocuparte por esta codificación, ya que si posteriormente rescatamos los valores mediante otros mecanismos volveremos a obtener el texto original. Simplemente, conviene conocer esta circunstancia para no pensar que están ocurriendo cosas extrañas o errores.
Hemos visto el resultado de un envío por el método GET. En el caso de un envío de datos usando el método POST, aunque estos datos también serán enviados (de una forma que podemos denominar “oculta”), no los podremos ver en la URL. Para poder recuperar los valores de los campos en el caso de un envío con el método POST necesitaríamos otras herramientas (por ejemplo valernos del lenguaje PHP para recuperar el valor de esos campos).
El resultado final con ambos métodos podemos decir que es el mismo: la información se transmite de un lado a otro. La diferencia radica en que con el método GET podemos ver directamente los parámetros pasados ya que están dentro de la URL mientras que con el método POST los parámetros quedan ocultos y para rescatarlos hay que usar otras herramientas.
Un ejemplo de uso del método post sería este:
<form action="http://www.aprenderaprogramar.com/prog/newuser" method ="post">
¿ES MEJOR USAR EL MÉTODO GET O EL MÉTODO POST?
Tanto GET como POST son métodos de envío de la información de los formularios válidos y ampliamente utilizados. Cada método tiene sus ventajas y sus inconvenientes y no se puede decir que uno sea mejor que otro. Elegir entre un método y otro depende de la aplicación concreta que se esté desarrollando y es algo que dentro de las empresas de desarrollos web suelen decidir los encargados del diseño de las aplicaciones. A nosotros en este curso básico simplemente nos interesa conocer la existencia de ambos métodos y sus características.
Para terminar, en la siguiente tabla mostramos un resumen de las diferencias entre GET y POST:
MÉTODO | CONCEPTO | OBSERVACIONES |
GET | GET lleva los datos de forma "visible" al cliente (navegador web). El medio de envío es la URL. Los datos los puede ver cualquiera. | Los datos son visibles por la URL, por ejemplo: www.aprenderaprogramar.com/ action.php?nombre=pedro&apellidos1= gomez |
POST | POST consiste en datos "ocultos" (porque el cliente no los ve) enviados por un formulario cuyo método de envío es post. Es adecuado para formularios. Los datos no son visibles. | La ventaja de usar POST es que estos datos no son visibles al usuario de la web. En el caso de usar get, el propio usuario podría modificar la URL escribiendo diferentes parámetros a los reales en su navegador, dando lugar a que la información tratada no sea la prevista. |
Para hacer un comentario o consulta utiliza los foros aprenderaprogramar.com, abiertos a cualquier persona independientemente de su nivel de conocimiento.
Estructuras de decisión
Una estructura de decisión es llamada así precisamente porque tiene la funcionalidad de tomar acciones en base al resultado lógico de una decision.
Las estructuras de decision se dividen en
- Simples
- Dobles
- Anidadas
*Para construir estructuras de control utilizamos la palabra reservada if, lo cual indica condicion
Estructura de desision simple
Es la que se ejecuta cuando la condicion propuesta es verdadera, ejemplo de ello tenemos
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | <?phpif(2 > 1){//si 2 es mayor que 1 entonces:echo "La condición se cumple";}echo "<br />";echo "El mensaje anterior se muestra si y solo si, la condición es verdadera";?> |
Estructura de decisión doble
Es la estructura que nos permite tomar un camino diferente si la condición establecida no es verdadera, para esto haremos uso de la palabra clave else, que seria como decir sino (o de lo contrario)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <?phpif(1 > 1){//si 1 es mayor que 1 entonces:echo "La condición se cumple";}else{echo "La condición no se cumple";}echo "<br />";echo "El mensaje anterior se muestra si y solo si, la condición es verdadera";?> |
Estructuras de decisión anidadas
Este tipo de estructuras nos permite tomar mas de un camino para una condicion y esta estructura puede ser expresada de dos formas, anidando estructuras, o con el uso de la palabra elseif, lo que podria traducirse como, sino, si…
Bueno veamos un ejemplo de cada uno, primero usando las anidadas
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?phpif(1 > 1){//si 1 es mayor que 1 entonces: echo "La condición se cumple";}else{ if(1 < 1){ echo "La condición se cumple"; }else{ echo "un else anidado"; }}echo "<br />";echo "El mensaje anterior se muestra si y solo si, la condición es verdadera";?> |
Y ahora veremos las estructuras de decisión con esta nueva palabra elseif
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?phpif(1 > 1){//si 1 es mayor que 1 entonces: echo "La condición se cumple";}elseif(1 < 1){ //de lo contrario 1 es menor que 1 entonces: echo "La condición se cumple";}else{ //si nada de lo anterior se cumple entonces: echo "un else anidado";}echo "<br />";echo "El mensaje anterior se muestra si y solo si, la condición es verdadera";?> |
elseif, como su nombre lo sugiere, es una combinación de if y else. Del mismo modo que else, extiende una sentencia if para ejecutar una sentencia diferente en caso que la expresión if original se evalúe como false. Sin embargo, a diferencia de else, esa expresión alternativa sólo se ejecutará si la expresión condicional del elseif se evalúa como true. Por ejemplo, el siguiente código debe mostrar a es mayor que b, a es igual que b o a es menor que b:
<?php
if ($a > $b) {
echo "a es mayor que b";
} elseif ($a == $b) {
echo "a es igual que b";
} else {
echo "a es menor que b";
}
?>Puede haber varios elseif dentro de la misma sentencia if. La primera expresión elseif (si hay alguna) que se evalúe como true sería ejecutada. En PHP también se puede escribir 'else if' (en dos palabras) y el comportamiento sería idéntico al de 'elseif' (en una sola palabra). El significado sintáctico es ligeramente diferente (si se está familiarizado con C, este es el mismo comportamiento) pero la conclusión es que ambos resultarían tener exactamente el mismo comportamiento.
La sentencia elseif es ejecutada solamente si la expresión if precedente y cualquiera de las expresiones elseif precedentes son evaluadas como false, y la expresión elseif actual se evalúa como true.
<?php
/* Método incorrecto: */
if ($a > $b):
echo $a." es mayor que ".$b;
else if ($a == $b): // No compilará
echo "La línea anterior provoca un error del interprete.";
endif;
/* Método correcto: */
if ($a > $b):
echo $a." es mayor que ".$b;
elseif ($a == $b): // Tenga en cuenta la combinación de las palabras.
echo $a." igual ".$b;
else:
echo $a." no es ni mayor ni igual a ".$b;
endif;
?>User Contributed Notes 3 notes
The parser doesn't handle mixing alternative if syntaxes as reasonably as possible.
The following is illegal (as it should be):
<?
if($a):
echo $a;
else {
echo $c;
}
?>
This is also illegal (as it should be):
<?
if($a) {
echo $a;
}
else:
echo $c;
endif;
?>
But since the two alternative if syntaxes are not interchangeable, it's reasonable to expect that the parser wouldn't try matching else statements using one style to if statement using the alternative style. In other words, one would expect that this would work:
<?
if($a):
echo $a;
if($b) {
echo $b;
}
else:
echo $c;
endif;
?>
Instead of concluding that the else statement was intended to match the if($b) statement (and erroring out), the parser could match the else statement to the if($a) statement, which shares its syntax.
While it's understandable that the PHP developers don't consider this a bug, or don't consider it a bug worth their time, jsimlo was right to point out that mixing alternative if syntaxes might lead to unexpected results.The if...elseif...else statement executes different codes for more than two conditions.
Syntax:
if (condition) {
code to be executed if this condition is true;
} elseif (condition) {
code to be executed if first condition is false and this condition is true;
} else {
code to be executed if all conditions are false;
}
Example:
Output "Have a good morning!" if the current time is less than 10, and "Have a good day!" if the current time is less than 20. Otherwise it will output "Have a good night!":
<?php
$t = date("H");
if ($t < "10") {
echo "Have a good morning!";
} elseif ($t < "20") {
echo "Have a good day!";
} else {
echo "Have a good night!";
}
?>The reason 'else if' (with a space) works with traditional syntax and not colon syntax is because of a technicality.
<?php
if($var == 'Whatever') {
} else if($var == 'Something Else') {
}
?>
In this instance, the 'else if' is a shorthand/inline else statement (no curly braces) with the if statement as a body. It is the same things as:
<?php
if($var == 'Whatever') {
} else {
if($var == 'Something Else') {
}
}
?>
If you were to write this with colon syntax, it would be:
<?php
if($var == 'Whatever'):
else:
if($var == 'Something Else'):
endif;
endif;
?>
ESTRUCTURAS REPETITIVAS O BUCLES EN PHP
Las estructuras repetitivas (bucles) son aquellas que reiteran una o un grupo de instrucciones "n" veces y dependen de una variable de control del ciclo. Es decir, ejecutan una o varias instrucciones un número de veces definido. Las instrucciones básicas que permiten construir este tipo de estructuras son while, do ... while y for.
LA INSTRUCCIÓN WHILE
La instrucción while (que en castellano se traduciría como “mientras…”) ejecuta una porción de programa mientras se cumpla una cierta condición.
Mientras la condición sea verdadera, se ejecutan las instrucciones contenidas en el while. Cuando deja de cumplirse la condición, se sale del ciclo y se continúa ejecutando el resto del programa.
Si la condición no se cumple ni la primera vez que se comprueba, las líneas en el interior del while no se ejecutarán ni una vez.
La estructura general o sintaxis habitual de un bucle while es la siguiente:
<?php
while (condición) {
... sentencias;
}
?>
En este fragmento de código estaríamos indicando que mientras se cumpla la condición se realizan las sentencias, y en este caso si no se cumpliese la condición se seguiría ejecutando el programa o mostrando los contenidos de la página web justo después del cierre de la instrucción while (que queda determinado por el símbolo de cierre } ).
Escribe ahora este código y guárdalo con un nombre de archivo como ejemplo1.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$galletas = 0;
while ($galletas < 10){
echo "$galletas, ";
$galletas++;
}
?>

En este ejemplo, las instrucciones dentro del while se ejecutarían 10 veces, mostrando los números de 0 a 9 separados por coma. Hay que tener especial cuidado en no crear estructuras repetitivas que se ejecuten infinitamente (bucles infinitos). En el ejemplo anterior, si no incrementamos el valor de la variable $galletas, la condición del while se cumpliría siempre y tendríamos un problema porque habríamos creado un bucle infinito, quedando el programa ‘atascado’ en dicho while.
EJERCICIO 1
Crea el código PHP donde generes:
a) Un bucle while que cuente desde 50 hasta 40 (fíjate que en este caso es decreciente)
b) Un bucle while que a partir de una variable $contador que toma valores de 1 a 5, muestre por pantalla el doble del valor de $contador, es decir, que muestre 2, 4, 6, 8, 10.
Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.
LA INSTRUCCIÓN DO … WHILE
La estructura repetitiva do-while (en castellano equivaldría a hacer… mientras) es muy similar a la estructura while, excepto que la expresión verdadera es verificada al final de cada iteración en lugar de al principio. La diferencia principal con los bucles while es que está garantizado que se ejecuten las instrucciones que contienen, al menos una vez (la verificación de si se tiene que repetir el proceso se realiza al final de la repetición de la estructura.
La estructura general o sintaxis habitual de un bucle do while es la siguiente:
<?php
do {
…sentencias
} while(condición);
?>
En este fragmento de código estaríamos indicando que se ejecute una primera vez “sí o sí” las sentencias, y que después se evalúe la condición para comprobar si se deben ejecutar nuevamente las sentencias. Como vemos, aunque no se cumpla la condición las sentencias se ejecutarían al menos una primera vez.
Escribe ahora este código y guárdalo con un nombre de archivo como ejemplo2.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
$galletas = 0;
do {
echo "$galletas, ";
$galletas++;
} while ($galletas < 10);
?>

EJERCICIO 2
Crea el código PHP donde generes:
a) Un bucle do…while que cuente desde 50 hasta 40 (fíjate que en este caso es decreciente)
b) Un bucle do…while que a partir de una variable $contador que toma valores de 1 a 5, muestre por pantalla el doble del valor de $contador, es decir, que muestre 2, 4, 6, 8, 10.
Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.
LA INSTRUCCIÓN FOR
La estructura repetitiva for (en castellano se traduciría como “desde…”) se utiliza generalmente cuando tenemos bien determinada la cantidad de repeticiones a realizar. Se diferencia de las anteriores en que se debe incluir en la propia instrucción una variable de control, la cual se incrementa o decrementa de forma automática. La estructura de estas instrucciones viene a ser muy similar a la anterior.
La estructura general o sintaxis habitual de un bucle for es la siguiente:
<?php
for ($variable=valor_inicial; condición; incremento) {
... sentencias;
}
?>
En este fragmento de código estaríamos indicando que mientras se cumpla la condición se realizan las sentencias, y en este caso si no se cumpliese la condición se seguiría ejecutando el programa justo después del cierre de la instrucción for (}). Todo esto es igual a la instrucción while anteriormente citada, salvo que en la propia declaración de la estructura se encuentra la variable de control, que en cada repetición se incrementa automáticamente.
Esta instrucción consta, por tanto, de tres parámetros:
Inicialización de la variable que se utilizará en la condición.
Condición que se debe cumplir para permanecer en el ciclo.
Modificación de la variable utilizada en la condición.
Escribe ahora este otro código guárdalo con un nombre de archivo como ejemplo3.php. A continuación, sube el fichero al servidor y visualiza el resultado.
<?php
for ($galletas = 0; $galletas < 10; $galletas++){
echo "$galletas, ";
}
?>

Este ejemplo muestra a la salida, la misma información que mostraba la instrucción while. Como podemos observar, el valor inicial y el incremento de la variable $galletas, van en la propia instrucción.
EJERCICIO 3
Crea el código PHP donde generes:
a) Un bucle for que cuente desde 50 hasta 40 (fíjate que en este caso es decreciente y que por tanto la variable deberá operar como $galletas– –).
b) Un bucle for que a partir de una variable $contador que toma valores de 1 a 5, muestre por pantalla el doble del valor de $contador, es decir, que muestre 2, 4, 6, 8, 10.
Para comprobar si tus respuestas y código son correctos puedes consultar en los foros aprenderaprogramar.com.
MODIFICAR EL PASO O STEP DE LA VARIABLE CONTADORA
Crea el siguiente código, guárdalo con un nombre de archivo como ejemplo4.php y visualiza los resultados en tu navegador.
<?php
for ( $i = 0; $i < 50; $i+=5 ){
echo " $i <br/> ";
}
?>

Fíjate que en este caso a la variable contador la hemos denominado i. Es habitual usar nombres como i, j, k para las variables contadoras en bucles.
Otra cosa interesante es que usando la instrucción += conseguimos que la variable contadora no vaya de uno en uno, sino que el paso (step) de la variable sea el número que nosotros deseemos. En este caso, hemos utilizado un incremento de 5 unidades en cada repetición del bucle. También podemos lograr el mismo efecto pero con decrementos usando – =.
EJERCICIO 4
Crea el código PHP donde generes:
a) Un bucle for que cuente desde 50 hasta 500 de 25 en 25.
b) Un bucle for que a partir de una variable de control $j que toma valores de 100 a 500 de 100 en 100, muestre por pantalla el resultado de dividir la variable de control por 20. En este caso, el resultado será 5 (que es 100/20…), 10 (que es 200/20…), 15, 20, 25.
break finaliza la ejecución de la estructura for, foreach, while, do-while o switch en curso.
break acepta un argumento numérico opcional que indica de cuántas estructuras anidadas circundantes se debe salir. El valor predeterminado es 1, es decir, solamente se sale de la estructura circundante inmediata.
<?php
$arr = array('uno', 'dos', 'tres', 'cuatro', 'pare', 'cinco');
while (list(, $val) = each($arr)) {
if ($val == 'pare') {
break; /* Se puede también escribir 'break 1;' aquí. */
}
echo "$val<br />\n";
}
/* Utilizar el argumento opcional. */
$i = 0;
while (++$i) {
switch ($i) {
case 5:
echo "En 5<br />\n";
break 1; /* Sólo sale del switch. */
case 10:
echo "En 10; saliendo<br />\n";
break 2; /* Sale del switch y del while. */
default:
break;
}
}
?>Registro de cambios para break Versión Descripción 5.4.0 break 0; ya no es válido. En versiones anteriores se interpretaba igual que break 1;.5.4.0 Eliminada la posibilidad de pasar variables (por ejemplo, $num = 2; break $num;) como argumento numérico.
add a noteUser Contributed Notes 2 notes
8ei dot dwaps at gmail dot com ¶6 months agoYou can also use break with parentheses: break(1);
Note:
Using more nesting level leads to fatal error:
<?php
while (true) {
foreach ([1, 2, 3] as $value) {
echo 'ok<br>';
break 3; // Fatal error: Cannot 'break' 3 levels
}
echo 'jamais exécuter';
break;
}
?>-1mparsa1372 at gmail dot com ¶2 months agoThe break statement can also be used to jump out of a loop.
This example jumps out of the loop when x is equal to 4:
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
}
echo "The number is: $x <br>";
}
?>
.


Comentarios
Publicar un comentario