0% encontró este documento útil (0 votos)
106 vistas42 páginas

ResumenTema4 Rusell PDF

Este documento proporciona una introducción a PHP. Explica que PHP es un lenguaje de scripting de código abierto ampliamente utilizado para desarrollo web. Describe algunas de las cosas que PHP puede hacer, como generar contenido dinámico de página, manejar bases de datos, y más. También cubre conceptos básicos como variables, tipos de datos, alcance, y cómo imprimir salida con echo y print.

Cargado por

Alexis Omar
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
106 vistas42 páginas

ResumenTema4 Rusell PDF

Este documento proporciona una introducción a PHP. Explica que PHP es un lenguaje de scripting de código abierto ampliamente utilizado para desarrollo web. Describe algunas de las cosas que PHP puede hacer, como generar contenido dinámico de página, manejar bases de datos, y más. También cubre conceptos básicos como variables, tipos de datos, alcance, y cómo imprimir salida con echo y print.

Cargado por

Alexis Omar
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Materia

Programación Web
Docente
I.S.C. Rusell Renán Iuit Manzanero
Integrantes:
Br. Chi Canche Omar Alexis - 17070004
Br. Pool Diaz Ángel Enrique - 17070068
Br. Nauat Duran Alejandro de la Cruz – 17070026
Br. Pomol Couoh Israel – 17070032
Grupo Y Semestre
6-B Vespertino
Tema 4
Resumen PHP
03 de mayo de 2020
Introducción
¿Qué es PHP?

• PHP es un acrónimo de "PHP: preprocesador de hipertexto"


• PHP es un lenguaje de script de código abierto ampliamente utilizado
• Los scripts PHP se ejecutan en el servidor
• PHP es gratis para descargar y usar

¿Qué es un archivo PHP?

• Los archivos PHP pueden contener texto, HTML, CSS, JavaScript y código
PHP
• El código PHP se ejecuta en el servidor y el resultado se devuelve al
navegador como HTML sin formato
• Los archivos PHP tienen la extensión " .php"

¿Qué puede hacer PHP?

• PHP puede generar contenido de página dinámico


• PHP puede crear, abrir, leer, escribir, eliminar y cerrar archivos en el
servidor
• PHP puede recopilar datos de formulario
• PHP puede enviar y recibir cookies
• PHP puede agregar, eliminar, modificar datos en su base de datos
• PHP puede usarse para controlar el acceso de los usuarios
• PHP puede encriptar datos

Con PHP no está limitado a la salida HTML. Puede generar imágenes, archivos
PDF e incluso películas Flash. También puede generar cualquier texto, como
XHTML y XML.
Variables

Las variables son "contenedores" para almacenar información.

Crear (declarar) variables PHP


En PHP, una variable comienza con el $signo, seguido del nombre de la variable:

Variables PHP

Una variable puede tener un nombre corto (como x e y) o un nombre más


descriptivo (edad, nombre del automóvil, volumen_total).

Reglas para variables PHP:

• Una variable comienza con el $signo, seguido del nombre de la variable.


• Un nombre de variable debe comenzar con una letra o el carácter de
subrayado
• Un nombre de variable no puede comenzar con un número
• Un nombre de variable solo puede contener caracteres alfanuméricos y
guiones bajos (Az, 0-9 y _)
• Los nombres de las variables distinguen entre mayúsculas y minúsculas
( $agey $AGEson dos variables diferentes)

Variables de salida

La echodeclaración PHP a menudo se usa para generar datos en la pantalla.

El siguiente Ejemplo mostrará cómo generar texto y una variable:

Ejemplo
<?php
$txt = "[Link]";
echo "I love $txt!";
?>
El siguiente Ejemplo producirá el mismo resultado que el Ejemplo anterior:

Ejemplo
<?php
$txt = "[Link]";
echo "I love " . $txt . "!";
?>

El siguiente Ejemplo generará la suma de dos variables:

Ejemplo
<?php
$x = 5;
$y = 4;
echo $x + $y;
?>

Nota: Aprenderá más sobre la echo declaración y cómo generar datos en la


pantalla en el próximo capítulo.

PHP es un lenguaje mecanografiado libremente

En el Ejemplo anterior, observe que no teníamos que decirle a PHP qué tipo de
datos es la variable.

PHP asocia automáticamente un tipo de datos a la variable, dependiendo de su


valor. Dado que los tipos de datos no están establecidos en un sentido estricto,
puede hacer cosas como agregar una cadena a un entero sin causar un error.

En PHP 7, se agregaron declaraciones de tipo. Esto ofrece una opción para


especificar el tipo de datos esperado al declarar una función, y al habilitar el
requisito estricto, arrojará un "Error fatal" en una falta de coincidencia de tipos.

Usted aprenderá más sobre stricty non-strict requisitos, y declaraciones de tipo de


datos de la Funciones PHP capítulo.

Alcance de variables PHP

En PHP, las variables se pueden declarar en cualquier parte del script.


El alcance de una variable es la parte del script donde la variable puede ser
referenciada / utilizada.

PHP tiene tres ámbitos variables diferentes:

• local
• global
• estático

Alcance global y local

Una variable declarada fuera de una función tiene un ALCANCE GLOBAL y solo
se puede acceder fuera de una función:

Ejemplo

Variable con alcance global:

<?php
$x = 5; // global scope

function myTest() {
// using x inside this function will generate an error
echo "<p>Variable x inside function is: $x</p>";
}
myTest();

echo "<p>Variable x outside function is: $x</p>";

Una variable declarada dentro de una función tiene un ALCANCE LOCAL y solo
se puede acceder dentro de esa función:

Ejemplo

Variable con alcance local:

<?php
function myTest() {
$x = 5; // local scope
echo "<p>Variable x inside function is: $x</p>";
}
myTest();

// using x outside the function will generate an error


echo "<p>Variable x outside function is: $x</p>

PHP La palabra clave global

La globalpalabra clave se utiliza para acceder a una variable global desde una
función.

Para hacer esto, use la globalpalabra clave antes de las variables (dentro de la
función):

Ejemplo
<?php
$x = 5;
$y = 10;

function myTest() {
global $x, $y;
$y = $x + $y;
}

myTest();
echo $y; // outputs 15
?>

PHP también almacena todas las variables globales en una matriz


llamada . El contiene el nombre de la variable. Esta matriz también es accesible
desde dentro de las funciones y se puede usar para actualizar variables globales
directamente.$GLOBALS[index]index

El Ejemplo anterior se puede reescribir así:

Ejemplo
<?php
$x = 5;
$y = 10;

function myTest() {
$GLOBALS['y'] = $GLOBALS['x'] + $GLOBALS['y'];
}

myTest();
echo $y; // outputs 15
?>
PHP La palabra clave estática

Normalmente, cuando se completa / ejecuta una función, se eliminan todas sus


variables. Sin embargo, a veces queremos que una variable local NO se
elimine. Lo necesitamos para otro trabajo.

Para hacer esto, use la staticpalabra clave cuando declare la variable por primera
vez:

Ejemplo
<?php
function myTest() {
static $x = 0;
echo $x;
$x++;
}

myTest();
myTest();
myTest();
?>
Imprimir echo
PHP echo y declaraciones de impresión

Con PHP, hay dos formas básicas de obtener salida: echoy print.

PHP echo y declaraciones de impresión

echoy printson más o menos lo mismo. Ambos se utilizan para enviar datos a la
pantalla.

Las diferencias son pequeñas: echono tiene valor de retorno, mientras


que printtiene un valor de retorno de 1, por lo que puede usarse en
expresiones. echopuede tomar múltiples parámetros (aunque dicho uso es raro)
mientras que printpuede tomar un argumento. echoes marginalmente más rápido
que print.

La declaración de eco PHP

La echodeclaración se puede usar con o sin paréntesis: echoo echo().

Mostrar texto

El siguiente Ejemplo muestra cómo generar texto con el echo comando (observe
que el texto puede contener marcado HTML):

Ejemplo
<?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.";
?>

Mostrar variables

El siguiente Ejemplo muestra cómo generar texto y variables con


la echo instrucción:

Ejemplo
<?php
$txt1 = "Learn PHP";
$txt2 = "[Link]";
$x = 5;
$y = 4;

echo "<h2>" . $txt1 . "</h2>";


echo "Study PHP at " . $txt2 . "<br>";
echo $x + $y;
?>

La declaración impresa de PHP

La print declaración se puede usar con o sin paréntesis: printo print().

Mostrar texto

El siguiente Ejemplo muestra cómo generar texto con el print comando (observe
que el texto puede contener marcado HTML):

Ejemplo
<?php
print "<h2>PHP is Fun!</h2>";
print "Hello world!<br>";
print "I'm about to learn PHP!";
?>
Tipos de datos

Tipos de datos PHP

Las variables pueden almacenar datos de diferentes tipos, y diferentes tipos de


datos pueden hacer cosas diferentes.

PHP admite los siguientes tipos de datos:

• Cuerda
• Entero
• Flotador (números de coma flotante, también llamado doble)
• Booleano
• Formación
• Objeto
• NULO
• Recurso

Cadena PHP

Una cadena es una secuencia de caracteres, como "¡Hola, mundo!".

Una cadena puede ser cualquier texto entre comillas. Puede usar comillas simples
o dobles:

Ejemplo
<?php
$x = "Hello world!";
$y = 'Hello world!';

echo $x;
echo "<br>";
echo $y;
?
PHP entero

Un tipo de datos entero es un número no decimal entre -2,147,483,648 y


2,147,483,647.

Reglas para enteros:

• Un entero debe tener al menos un dígito


• Un entero no debe tener un punto decimal
• Un número entero puede ser positivo o negativo.
• Los enteros se pueden especificar en: notación decimal (base 10),
hexadecimal (base 16), octal (base 8) o binaria (base 2)

En el siguiente Ejemplo, $ x es un número entero. La función PHP var_dump ()


devuelve el tipo de datos y el valor:

Ejemplo
<?php
$x = 5985;
var_dump($x);
?>
PHP Float

Un flotante (número de coma flotante) es un número con un punto decimal o un


número en forma exponencial.

En el siguiente Ejemplo, $ x es un flotante. La función PHP var_dump () devuelve


el tipo de datos y el valor:

Ejemplo
<?php
$x = 10.365;
var_dump($x);
?>
PHP booleano

Un booleano representa dos estados posibles: VERDADERO o FALSO.;

Los booleanos se usan a menudo en pruebas condicionales. Aprenderá más sobre


las pruebas condicionales en un capítulo posterior de este tutorial.

Matriz PHP

Una matriz almacena múltiples valores en una sola variable.

En el siguiente Ejemplo, $ cars es una matriz. La función PHP var_dump ()


devuelve el tipo de datos y el valor:

Ejemplo
<?php
$cars = array("Volvo","BMW","Toyota");
var_dump($cars);
?>
Aprenderá mucho más sobre las matrices en capítulos posteriores de este tutorial.

Objeto PHP

Un objeto es un tipo de datos que almacena datos e información sobre cómo


procesar esos datos.

En PHP, un objeto debe declararse explícitamente.

Primero debemos declarar una clase de objeto. Para esto, usamos la palabra
clave class. Una clase es una estructura que puede contener propiedades y
métodos:

Ejemplo
<?php
class Car {
function Car() {
$this->model = "VW";
}
}

// create an object
$herbie = new Car();

// show object properties


echo $herbie->model;
?
Valor NULL PHP

Null es un tipo de datos especial que solo puede tener un valor: NULL.

Una variable de tipo de datos NULL es una variable que no tiene ningún valor
asignado.

Las variables también se pueden vaciar estableciendo el valor en NULL:

Ejemplo
<?php
$x = "Hello world!";
$x = null;
var_dump($x);
?>
Cadenas

Una cadena es una secuencia de caracteres, como "¡Hola, mundo!".

Funciones de cadena PHP

En este capítulo veremos algunas funciones de uso común para manipular


cadenas.

strlen () - Devuelve la longitud de una cadena

La strlen()función PHP devuelve la longitud de una cadena.

Ejemplo

Devuelve la longitud de la cadena "¡Hola mundo!":

<?php
echo strlen("Hello world!"); // outputs 12
?>

str_word_count () - Cuenta palabras en una cadena

La str_word_count()función PHP cuenta el número de palabras en una cadena.

Ejemplo

Cuente el número de palabras en la cadena "¡Hola mundo!":

<?php
echo str_word_count("Hello world!"); // outputs 2
?>
strrev () - Invierte una cadena

La strrev()función PHP invierte una cadena.

Ejemplo

Invierta la cadena "¡Hola mundo!":

<?php
echo strrev("Hello world!"); // outputs !dlrow olleH
?>

strpos () - Busca un texto dentro de una cadena


La strpos()función PHP busca un texto específico dentro de una cadena. Si se
encuentra una coincidencia, la función devuelve la posición del personaje de la
primera coincidencia. Si no se encuentra ninguna coincidencia, devolverá FALSE.

Ejemplo

Busque el texto "mundo" en la cadena "¡Hola mundo!":

<?php
echo strpos("Hello world!", "world"); // outputs 6
?

str_replace () - Reemplazar texto dentro de una cadena

La str_replace()función PHP reemplaza algunos caracteres con otros caracteres


en una cadena.

Ejemplo

Reemplace el texto "mundo" con "Dolly":

<?php
echo str_replace("world", "Dolly", "Hello world!"); // outputs Hello Dolly!
?>
Números

En este capítulo analizaremos en profundidad los números enteros, flotantes y


cadenas de números.

Números PHP

Una cosa a tener en cuenta sobre PHP es que proporciona conversión automática
de tipo de datos.

Entonces, si asigna un valor entero a una variable, el tipo de esa variable será
automáticamente un entero. Luego, si asigna una cadena a la misma variable, el
tipo cambiará a una cadena.

Esta conversión automática a veces puede romper su código.

PHP enteros

Un número entero es un número sin ninguna parte decimal.

2, 256, -256, 10358, -179567 son todos enteros. Mientras que 7.56, 10.0, 150.67
son flotadores.

Por lo tanto, un tipo de datos entero es un número no decimal entre -2147483648


y 2147483647. Un valor mayor (o menor) que este, se almacenará como flotante,
ya que excede el límite de un entero.

Otra cosa importante a saber es que incluso si 4 * 2.5 es 10, el resultado se


almacena como flotante, porque uno de los operandos es un flotante (2.5).

Aquí hay algunas reglas para enteros:

• Un entero debe tener al menos un dígito


• Un entero no debe tener un punto decimal
• Un número entero puede ser positivo o negativo.
• Los enteros se pueden especificar en tres formatos: decimal (basado en
10), hexadecimal (basado en 16 - prefijado con 0x) u octal (basado en 8 -
prefijado con 0)

PHP tiene las siguientes funciones para verificar si el tipo de una variable es
entero:

• is_int ()
• is_integer () - alias de is_int ()
• is_long () - alias de is_int ()
Ejemplo

Compruebe si el tipo de una variable es entero:

<?php
$x = 5985;
var_dump(is_int($x));

$x = 59.85;
var_dump(is_int($x));
?>
Flotadores PHP

Un flotador es un número con un punto decimal o un número en forma


exponencial.

2.0, 256.4, 10.358, 7.64E + 5, 5.56E-5 son flotantes.

El tipo de datos flotantes comúnmente puede almacenar un valor de hasta


1.7976931348623E + 308 (depende de la plataforma) y tiene una precisión
máxima de 14 dígitos.

PHP tiene las siguientes funciones para verificar si el tipo de una variable es
flotante:

• is_float ()
• is_double () - alias de is_float ()

Ejemplo

Compruebe si el tipo de una variable es flotante:

<?php
$x = 10.365;
var_dump(is_float($x));
?>
PHP Infinity

Un valor numérico que es mayor que PHP_FLOAT_MAX se considera infinito.

PHP tiene las siguientes funciones para verificar si un valor nu mérico es finito o
infinito:

• is_finite ()
• es infinito()
Sin embargo, la función PHP var_dump () devuelve el tipo de datos y el valor:

Ejemplo

Compruebe si un valor numérico es finito o infinito:

<?php
$x = 1.9e411;
var_dump($x);
?>
PHP NaN

NaN significa No es un número.

NaN se usa para operaciones matemáticas imposibles.

PHP tiene las siguientes funciones para verificar si un valor no es un número:

• is_nan ()

Sin embargo, la función PHP var_dump () devuelve el tipo de datos y el valor:

Ejemplo

El cálculo no válido devolverá un valor NaN:

<?php
$x = acos(8);
var_dump($x);
?>
PHP cadenas numéricas

La función PHP is_numeric () se puede usar para encontrar si una variable es


numérica. La función devuelve verdadero si la variable es un número o una
cadena numérica, de lo contrario, falso.

Ejemplo

Compruebe si la variable es numérica:

<?php
$x = 5985;
var_dump(is_numeric($x));

$x = "5985";
var_dump(is_numeric($x));
$x = "59.85" + 100;
var_dump(is_numeric($x));

$x = "Hello";
var_dump(is_numeric($x));
?>

Constantes

Las constantes son como variables, excepto qu e una vez que se definen no se
pueden cambiar ni definir.

Constantes PHP

Una constante es un identificador (nombre) para un valor simple. El valor no se


puede cambiar durante el script.

Un nombre constante válido comienza con una letra o un guión bajo (sin signo $
antes del nombre constante).

Crear una constante de PHP

Para crear una constante, use la define()función.

Sintaxis

Parámetros:

• nombre : especifica el nombre de la constante


• valor : especifica el valor de la constante
• sin distinción entre mayúsculas y minúsculas : especifica si el nombre
constante debe ser insensible entre mayúsculas y minúsculas. El valor
predeterminado es falso

Ejemplo

Cree una constante con un nombre que distinga entre mayúsculas y


minúsculas :

<?php
define("GREETING", "Welcome to [Link]!");
echo GREETING;
?>
Ejemplo

Cree una constante con un nombre que no distinga entre mayúsculas y


minúsculas :

<?php
define("GREETING", "Welcome to [Link]!", true);
echo greeting;
?>

Matrices constantes de PHP

En PHP7, puede crear una constante de matriz utilizando la define()función.

Ejemplo

Crear una constante de matriz:

<?php
define("cars", [
"Alfa Romeo",
"BMW",
"Toyota"
]);
echo cars[0];
?>

Las constantes son globales

Las constantes son automáticamente globales y se pueden usar en todo el script.

Ejemplo

Este Ejemplo usa una constante dentro de una función, incluso si está definida
fuera de la función:

<?php
define("GREETING", "Welcome to [Link]!");

function myTest() {
echo GREETING;
}

myTest();
?>
Operadores

Los operadores se utilizan para realizar operaciones en variables y valores.

PHP divide a los operadores en los siguientes grupos:

• Operadores aritméticos
• Operadores de Asignación
• Operadores de comparación
• Operadores de aumento / disminución
• Operadores logicos
• Operadores de cadenas
• Operadores de matriz
• Operadores de asignación condicional
Sentencia if

Las declaraciones condicionales se utilizan para realizar diferentes acciones


basadas en diferentes condiciones.

Declaraciones condicionales PHP

Muy a menudo cuando escribe código, desea realizar diferentes acciones para
diferentes condiciones. Puede usar declaraciones condicionales en su código para
hacer esto.

En PHP tenemos las siguientes declaraciones condicionales:

• if instrucción: ejecuta algún código si una condición es verdadera


• if...else instrucción: ejecuta un código si una condición es verdadera y otro
código si esa condición es falsa
• if...elseif...else instrucción: ejecuta diferentes códigos para más de dos
condiciones
• switch instrucción: selecciona uno de los muchos bloques de código que se
ejecutarán

PHP - La declaración if

La ifinstrucción ejecuta algún código si u na condición es verdadera.

Ejemplo

Salida "¡Que tengas un buen día!" si la hora actual (HORA) es inferior a 20:

<?php
$t = date("H");

if ($t < "20") {


echo "Have a good day!";
}
?>
PHP - La declaración if ... else

La if...elseinstrucción ejecuta algún código si una condición es verdadera y otro


código si esa condición es falsa.

Sintaxis
if (condition) {
code to be executed if condition is true;
} else {
code to be executed if condition is false;
}
Ejemplo

Salida "¡Que tengas un buen día!" si la hora actual es inferior a 20 y "¡Ten una
buena noche!" de otra manera:

<?php
$t = date("H");

if ($t < "20") {


echo "Have a good day!";
} else {
echo "Have a good night!";
}

PHP - La declaración if ... elseif ... else

La if...elseif...elsedeclaración ejecuta diferentes códigos para más de dos


condiciones.

Sintaxis
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;
}
Ejemplo

Salida "¡Buenos días!" si la hora actual es inferior a 10 y "¡Que tengas un buen


día!" si la hora actual es inferior a 20. De lo contrario, saldrá "¡Buenas noches!":

<?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!";
}
?>
Bucles

A menudo, cuando escribe código, desea que el mismo bloque de código se


ejecute una y otra vez un cierto número de veces. Entonces, en lugar de
agregar varias líneas de código casi iguales en un script, podemos usar
bucles.

Los bucles se utilizan para ejecutar el mismo bloque de código una y otra
vez, siempre que una determinada condición sea verdadera.

En PHP, tenemos los siguientes tipos de bucles:

• while - recorre un bloque de código siempre que la condición


especificada sea verdadera
• do...while - recorre un bloque de código una vez y luego repite el
ciclo siempre que la condición especificada sea verdadera
• for - recorre un bloque de código un número específico de veces
• foreach - recorre un bloque de código para cada elemento en una
matriz

PHP mientras bucle


El whilebucle: recorre un bloque de código siempre que la condición especificada
sea verdadera.
El PHP mientras bucle

El whilebucle ejecuta un bloque de código siempre que la condición especificada


sea verdadera.

Sintaxis
while (condition is true) {
code to be executed;
}
Ejemplos

El siguiente Ejemplo muestra los números del 1 al 5:

Ejemplo
<?php
$x = 1;

while($x <= 5) {
echo "The number is: $x <br>";
$x++;
}
?>
Ejemplo explicado

• $ x = 1; - Inicialice el contador de bucle ($ x) y establezca el valor de inicio


en 1
• $ x <= 5 - Continúa el ciclo siempre que $ x sea menor o igual que 5
• $ x ++; - Aumente el valor del contador del bucle en 1 para cada iteración

Este Ejemplo cuenta hasta 100 por decenas:

Ejemplo
<?php
$x = 0;

while($x <= 100) {


echo "The number is: $x <br>";
$x+=10;
}
?>
PHP hacer mientras Loo

El do...whilebucle: recorre un bloque de código una vez y luego repite el bucle


siempre que la condición especificada sea verdadera.

El PHP hace ... mientras Loop

El do...whilebucle siempre ejecutará el bloque de código una vez, luego verificará


la condición y repetirá el bucle mientras la condición especificada sea verdadera.

Sintaxis
do {
code to be executed;
} while (condition is true);
Ejemplos

El siguiente Ejemplo establece primero una variable $ x a 1 ($ x = 1). Luego, el


ciclo do while escribirá algo de salida, y luego incrementará la variable $ x con 1.
Luego se verifica la condición (¿$ x es menor o igual a 5?), Y el ciclo continuará
ejecutándose mientras $ x es menor o igual a 5:
Ejemplo
<?php
$x = 1;

do {
echo "The number is: $x <br>";
$x++;
} while ($x <= 5);
?>
PHP para bucle

El forbucle: recorre un bloque de código un número específico de veces.

El PHP para Loop

El forbucle se usa cuando sabe de antemano cuántas veces debe ejecutarse el


script.

Sintaxis
for (init counter; test counter; increment counter) {
code to be executed for each iteration;
}

Parámetros:

• contador de inicio : inicializa el valor del contador de bucle


• contador de prueba : evaluado para cada iteración del bucle. Si se evalúa
como VERDADERO, el ciclo continúa. Si se evalúa como FALSO, el ciclo
termina.
• contador de incremento : aumenta el valor del contador de bucle

Ejemplos

El siguiente Ejemplo muestra los números del 0 al 10:

Ejemplo
<?php
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x <br>";
}
?>
PHP foreach Loop
El foreachbucle: recorre un bloque de código para cada elemento de una matriz.
El bucle foreach de PHP

El foreachbucle solo funciona en matrices y se usa para recorrer cada par clave /
valor en una matriz.

Sintaxis
foreach ($array as $value) {
code to be executed;
}

Para cada iteración de bucle, el valor del elemento de matriz actual se asigna a $
value y el puntero de matriz se mueve en uno, hasta que alcanza el último
elemento de matriz.

Ejemplos

El siguiente Ejemplo generará los valores de la matriz dada ($ colores):

Ejemplo
<?php
$colors = array("red", "green", "blue", "yellow");

foreach ($colors as $value) {


echo "$value <br>";
}
?>
Funciones

El verdadero poder de PHP proviene de sus funciones.

PHP tiene más de 1000 funciones integradas, y además puede crear sus propias
funciones personalizadas.

Funciones incorporadas de PHP

PHP tiene más de 1000 funciones integradas a las que se puede llamar
directamente, desde un script, para realizar una tarea específica.

Consulte nuestra referencia de PHP para obtener una descripción completa de


las funciones integradas de PHP .

Funciones definidas por el usuario PHP

Además de las funciones integradas de PHP, es posible crear sus propias


funciones.

• Una función es un bloque de declaraciones que se pueden usar


repetidamente en un programa.
• Una función no se ejecutará automáticamente cuando se carga una página.
• Una función se ejecutará mediante una llamada a la función.

Crear una función definida por el usuario en PHP

Una declaración de función definida por el usuario comienza con la


palabra function:

Sintaxis
function functionName() {
code to be executed;
}

Nota: El nombre de una función debe comenzar con una letra o un guión bajo. Los
nombres de funciones NO distinguen entre mayúsculas y minú[Link] el
siguiente Ejemplo, creamos una función llamada "writeMsg ()". La llave de
apertura ({) indica el comienzo del código de función, y la llave de cierre (}) indica
el final de la función. La función emite "¡Hola, mundo!". Para llamar a la función,
simplemente escriba su nombre seguido de corchetes ():
Ejemplo
<?php
function writeMsg() {
echo "Hello world!";
}

writeMsg(); // call the function


?>

Matrices

Una matriz almacena múltiples valores en una sola variable:

Ejemplo
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
¿Qué es una matriz?

Una matriz es una variable especial, que puede contener más de un valor a la vez.

Si tiene una lista de elementos (una lista de nombres de automóviles, por


Ejemplo), el almacenamiento de los automóviles en variables individuales podría
verse así:

$cars1 = "Volvo";
$cars2 = "BMW";
$cars3 = "Toyota";

Sin embargo, ¿qué pasa si quieres recorrer los autos y encontrar uno
específico? ¿Y si no tuvieras 3 autos, sino 300?

Crear una matriz en PHP

En PHP, la array()función se usa para crear una matriz:

array();

En PHP, hay tres tipos de matrices:


• Matrices indexadas : matrices con un índice numérico
• Matrices asociativas : matrices con claves con nombre
• Matrices multidimensionales : matrices que contienen una o más matrices

Obtener la longitud de una matriz: la función count ()

La count()función se usa para devolver la longitud (el número de elementos) de


una matriz:

Ejemplo
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo count($cars);
?>
Matrices indexadas de PHP

Hay dos formas de crear matrices indexadas:

El índice se puede asignar automáticamente (el índice siempre comienza en 0),


así:

$cars = array("Volvo", "BMW", "Toyota");

o el índice se puede asignar manualmente:

$cars[0] = "Volvo";
$cars[1] = "BMW";
$cars[2] = "Toyota";

El siguiente Ejemplo crea una matriz indexada llamada $ cars, le asigna tres
elementos y luego imprime un texto que contiene los valores de la matriz:

Ejemplo
<?php
$cars = array("Volvo", "BMW", "Toyota");
echo "I like " . $cars[0] . ", " . $cars[1] . " and " . $cars[2] . ".";
?>
Matrices asociativas de PHP

Las matrices asociativas son matrices que usan claves con nombre que usted les
asigna.

Hay dos formas de crear una matriz asociativa:


$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

o:

$age['Peter'] = "35";
$age['Ben'] = "37";
$age['Joe'] = "43";

Las teclas con nombre se pueden usar en un script:

Ejemplo
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
echo "Peter is " . $age['Peter'] . " years old.";
?>
Recorrer una matriz asociativa

Para recorrer e imprimir todos los valores de una matriz asociativa, puede usar
un foreachciclo, como este:

Ejemplo
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");

foreach($age as $x => $x_value) {


echo "Key=" . $x . ", Value=" . $x_value;
echo "<br>";
}
?>
PHP - Matrices multidimensionales

Una matriz multidimensional es una matriz que contiene una o más matrices.

PHP admite matrices multidimensionales que tienen dos, tres, cuatro, cinco o más
niveles de profundidad. Sin embargo, las matrices de más de tres niveles de
profundidad son difíciles de administrar para la mayoría de las personas.

La dimensión de una matriz indica la cantidad de índices que necesita para


seleccionar un elemento.

• Para una matriz bidimensional, necesita dos índices para seleccionar un


elemento
• Para una matriz tridimensional, necesita tres índices para seleccionar un
elemento

PHP - Matrices bidimensionales

Una matriz bidimensional es una matriz de matrices (una matriz tridimensional es


una matriz de matrices de matrices).

Primero, eche un vistazo a la siguiente tabla:

Name Stock Sold

Volvo 22 18

BMW 15 13

Saab 5 2

Land Rover 17 15

Podemos almacenar los datos de la tabla anterior en una matriz bidimen sional,
como esta:

$cars = array (
array("Volvo",22,18),
array("BMW",15,13),
array("Saab",5,2),
array("Land Rover",17,15)
);

Ahora la matriz bidimensional $ cars contiene cuatro matrices, y tiene dos índices:
fila y columna.
Para obtener acceso a los elementos de la matriz $ cars debemos señalar los dos
índices (fila y columna):

Ejemplo
<?php
echo $cars[0][0].": In stock: ".$cars[0][1].", sold: ".$cars[0][2].".<br>";
echo $cars[1][0].": In stock: ".$cars[1][1].", sold: ".$cars[1][2].".<br>";
echo $cars[2][0].": In stock: ".$cars[2][1].", sold: ".$cars[2][2].".<br>";
echo $cars[3][0].": In stock: ".$cars[3][1].", sold: ".$cars[3][2].".<br>";
?>
PHP - Funciones de ordenación para matrices

En este capítulo, veremos las siguientes funciones de ordenación de matriz PHP:

• sort() - ordenar matrices en orden ascendente


• rsort() - ordenar matrices en orden descendente
• asort() - ordenar matrices asociativas en orden ascendente, de acuerdo con
el valor
• ksort() - ordenar matrices asociativas en orden ascendente, de acuerdo con
la clave
• arsort() - ordenar matrices asociativas en orden descendente, de acuerdo
con el valor
• krsort() - ordenar matrices asociativas en orden descendente, de acuerdo
con la clave

Ordenar matriz en orden ascendente - sort ()

El siguiente Ejemplo clasifica los elementos de la matriz $ cars en orden alfabético


ascendente:

Ejemplo
<?php
$cars = array("Volvo", "BMW", "Toyota");
sort($cars);
?>
Manejo de formularios

Las superglobales PHP $ _GET y $ _POST se utilizan para recopilar datos de


formulario.

PHP: un formulario HTML simple

El siguiente Ejemplo muestra un formulario HTML simple con dos campos de


entrada y un botón de envío:

Ejemplo
<html>
<body>

<form action="[Link]" method="post">


Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

Cuando el usuario completa el formulario de arriba y hace clic en el botón Enviar,


los datos del formulario se envían para su procesamiento a un archivo PHP
llamado "[Link]". Los datos del formulario se envían con el método HTTP
POST.

Para mostrar los datos enviados, simplemente puede hacer eco de todas las
variables. El "[Link]" se ve así:

<html>
<body>

Welcome <?php echo $_POST["name"]; ?><br>


Your email address is: <?php echo $_POST["email"]; ?>

</body>
</html>

El resultado podría ser algo como esto:


Welcome John
Your email address is [Link]@[Link]

El mismo resultado también podría lograrse utilizando el método HTTP GET:

Ejemplo
<html>
<body>

<form action="welcome_get.php" method="get">


Name: <input type="text" name="name"><br>
E-mail: <input type="text" name="email"><br>
<input type="submit">
</form>

</body>
</html>

y "welcome_get.php" se ve así:

<html>
<body>

Welcome <?php echo $_GET["name"]; ?><br>


Your email address is: <?php echo $_GET["email"]; ?>

</body>
</html>

El código anterior es bastante simple. Sin embargo, falta lo más importante. Debe
validar los datos del formulario para proteger su secuencia de comandos del
código malicioso.

¡Piense en SEGURIDAD al procesar formularios PHP!

Esta página no contiene ninguna validación de formulario, solo muestra cómo


puede enviar y recuperar datos de formulario.

Sin embargo, las siguientes páginas mostrarán cómo procesar formularios PHP
teniendo en cuenta la seguridad. ¡La validación adecuada de los datos del
formulario es importante para proteger su formulario de hackers y spammers!
OBTENER vs. POSTAR

Tanto GET como POST crean una matriz (por Ejemplo, matriz (clave1 => valor1,
clave2 => valor2, clave3 => valor3, ...)). Esta matriz contiene pares clave / valor,
donde las claves son los nombres de los controles del formulario y los valores son
los datos de entrada del usuario.

Tanto GET como POST se tratan como $ _GET y $ _POST. Estos son
superglobales, lo que significa que siempre son accesibles, independientemente
del alcance, y puede acceder a ellos desde cualquier función, clase o archivo sin
tener que hacer nada especial.

$ _GET es una matriz de variables pasadas al script actual a través de los


parámetros de URL.

$ _POST es una matriz de variables pasadas al script actual a través del método
HTTP POST.

¿Cuándo usar GET?

La información enviada desde un formulario con el método GET es visible para


todos (todos los nombres y valores de las variables se muestran en la URL). GET
también tiene límites en la cantidad de información a enviar. La limitación es de
aproximadamente 2000 caracteres. Sin embargo, debido a que las variables se
muestran en la URL, es posible marcar la página. Esto puede ser útil en algunos
casos.

GET puede usarse para enviar datos no confidenciales.

¿Cuándo usar POST?

La información enviada desde un formulario con el método POST es invisible


para otros (todos los nombres / valores están in crustados dentro del cuerpo de la
solicitud HTTP) y no tiene límites en la cantidad de información a enviar.

Además, POST admite funcionalidades avanzadas, como la compatibilidad con


entradas binarias de varias partes al cargar archivos al servidor.

Sin embargo, debido a que las variables no se muestran en la URL, no es posible


marcar la página.
Validación de formularios

Este y los siguientes capítulos muestran cómo usar PHP para validar los datos del
formulario.

Validación de formulario PHP


¡Piense en SEGURIDAD al procesar formularios PHP!

Estas páginas mostrarán cómo procesar formularios PHP teniendo en cuenta la


seguridad. ¡La validación adecuada de los datos del formulario es importante para
proteger su formulario de hackers y spammers!

El formulario HTML en el que trabajaremos en estos capítulos contiene varios


campos de entrada: campos de texto obligatorios y opcionales, botones de opción
y un botón de envío:
Campos de texto

Los campos de nombre, correo electrónico y sitio web son elementos de entrada
de texto, y el campo de comentarios es un área de texto. El código HTML se ve
así:

Name: <input type="text" name="name">


E-mail: <input type="text" name="email">
Website: <input type="text" name="website">
Comment: <textarea name="comment" rows="5" cols="40"></textarea>
Botones de radio

Los campos de género son botones de opción y el código HTML se ve así:

Gender:
<input type="radio" name="gender" value="female">Female
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="other">Other
El elemento de formulario

El código HTML del formulario se ve así:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SE


LF"]);?>">

Cuando se envía el formulario, los datos del formulario se envían con method =
"post".

¿Qué es la variable $ _SERVER ["PHP_SELF"]?

$ _SERVER ["PHP_SELF"] es una variable súper global que devuelve el nombre


de archivo del script que se está ejecutando actu almente.

Entonces, $ _SERVER ["PHP_SELF"] envía los datos del formulario enviado a la


página en lugar de saltar a una página diferente. De esta forma, el usuario recibirá
mensajes de error en la misma página que el formulario.

¿Qué es la función htmlspecialchars ()?

La función htmlspecialchars () convierte caracteres especiales en entidades


HTML. Esto significa que reemplazará los caracteres HTML como <y> con & lt; y &
gt ;. Esto evita que los atacantes exploten el código inyectando código HTML o
Javascript (ataques de secuencias de comandos entre sitios) en formularios.
Gran nota sobre seguridad de formularios PHP

Los hackers pueden usar la variable $ _SERVER ["PHP_SELF"].

Si se usa PHP_SELF en su página, un usuario puede ingresar una barra diagonal


(/) y luego algunos comandos Cross Site Scripting (XSS) para ejecutar.

Las secuencias de comandos entre sitios (XSS) son un tipo de


vulnerabilidad de seguridad informática que generalmente se encuentra en
las aplicaciones web. XSS permite a los atacantes inyectar secuencias de
comandos del lado del cliente en páginas web vistas por otros usuarios.

Supongamos que tenemos el siguiente formulario en una página llamada


"test_form.php":

<form method="post" action="<?php echo $_SERVER["PHP_SELF"];?>">

Ahora, si un usuario ingresa la URL normal en la barra de direcciones como


"[Link] el código anterior se traducirá a:

<form method="post" action="test_form.php">

Hasta aquí todo bien.

Sin embargo, considere que un usuario ingresa la siguiente URL en la barra de


direcciones:

[Link]
/script%3E

En este caso, el código anterior se traducirá a:

<form method="post" action="test_form.php/"><script>alert('hacked')</script>

Este código agrega una etiqueta de script y un comando de alerta. Y cuando se


carga la página, se ejecutará el código JavaScript (el usuario verá un cuadro de
alerta). Este es solo un Ejemplo simple e inofensivo de cómo se puede explotar la
variable PHP_SELF.

¡Tenga en cuenta que cualquier código JavaScript se puede agregar dentro de


la etiqueta <script>! Un pirata informático puede redirigir al usuario a un archivo
en otro servidor, y ese archivo puede contener código malicioso que puede alterar
las variables globales o enviar el formulario a otra dirección para guardar los datos
del usuario, por Ejemplo.
¿Cómo evitar exploits $ _SERVER ["PHP_SELF"]?

Las vulnerabilidades de $ _SERVER ["PHP_SELF"] se pueden evitar utilizando la


función htmlspecialchars ().

El código del formulario debería verse así:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SE


LF"]);?>">

La función htmlspecialchars () convierte caracteres especiales en entidades


HTML. Ahora, si el usuario intenta explotar la variable PHP_SELF, dará como
resultado la siguiente salida:

<form method="post" action="test_form.php/&quot;&gt;&lt;script&gt;alert('hacked')


&lt;/script&gt;">

¡El intento de explotación falla y no se hace daño!

Validar datos de formulario con PHP

Lo primero que haremos es pasar todas las variables a través de la función


htmlspecialchars () de PHP.

Cuando usamos la función htmlspecialchars (); entonces, si un usuario intenta


enviar lo siguiente en un campo de texto:

<script> [Link] ('[Link] </script>

- esto no se ejecutaría, porque se guardaría como código escapado HTML, como


este:

& lt; script & gt; [Link] ('[Link] & lt; / script & gt;

Ahora es seguro que el código se muestre en una página o dentro de un correo


electrónico.

También haremos dos cosas más cuando el usuario envíe el formulario:

1. Elimine los caracteres innecesarios (espacio adicional, tabulación, nueva


línea) de los datos de entrada del usuario (con la función de recorte de
PHP)
2. Elimine las barras invertidas (\) de los datos de entrada del usuario (con la
función PHP stripslashes ())
El siguiente paso es crear una función que verifique por nosotros (lo cual es
mucho más conveniente que escribir el mismo código una y otra vez).

Llamaremos a la función test_input ().

Ahora, podemos verificar cada variable $ _POST con la función test_input (), y el
script se ve así:

Ejemplo
<?php
// define variables and set to empty values
$name = $email = $gender = $comment = $website = "";

if ($_SERVER["REQUEST_METHOD"] == "POST") {
$name = test_input($_POST["name"]);
$email = test_input($_POST["email"]);
$website = test_input($_POST["website"]);
$comment = test_input($_POST["comment"]);
$gender = test_input($_POST["gender"]);
}

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
return $data;
}
?>

Observe que al comienzo del script, verificamos si el formulario se ha enviado


utilizando $ _SERVER ["REQUEST_METHOD"]. Si REQUEST_METHOD es
POST, el formulario se ha enviado y debe validarse. Si no se ha enviado, omita la
validación y muestre un formulario en blanco.

Sin embargo, en el Ejemplo anterior, todos los campos de entrada son


opcionales. El script funciona bien incluso si el usuario no ingresa ningún dato.

El siguiente paso es hacer que los campos de entrada sean obligatorios y crear
mensajes de error si es necesario.

También podría gustarte