Está en la página 1de 61

Implantación de

PHP

Aplicaciones Web
Aplicaciones Web

Aplicaciones

Web

Aplicaciones Web
Aplicaciones Web

IES GALILEO

Martín Del Cerro Quintana

Aplicaciones Web IES GALILEO Martín Del Cerro Quintana Apuntes del BLOQUE A: (63 horas) del currículo

Apuntes del BLOQUE A: (63 horas) del currículo correspondiente al título de Técnico Superior en Administración de Sistemas Informáticos en Red en la Comunidad de Castilla y León.

de Técnico Superior en Administración de Sistemas Informáticos en Red en la Comunidad de Castilla y
de Técnico Superior en Administración de Sistemas Informáticos en Red en la Comunidad de Castilla y

PHP

PHP Índice 1. Introducción a PHP 2. Instalar PHP 3. Primeros pasos 4. Variables 5. Formularios

Índice

1. Introducción a PHP

2. Instalar PHP

3. Primeros pasos

4. Variables

5. Formularios

6. Operadores

7. Programación estructurada

7.1 Estructura secuencial

7.2 Estructura condicional

7.3 Estructura repetitiva

8. Cadenas

9. Arrays

10. Funciones

11. Funciones de fecha y hora

12. Ficheros

13. Bases de datos

14. Programación orientada a objetos

11. Funciones de fecha y hora 12. Ficheros 13. Bases de datos 14. Programación orientada a
11. Funciones de fecha y hora 12. Ficheros 13. Bases de datos 14. Programación orientada a

PHP

PHP 1. Introducción a PHP ¿Qué es PHP? PHP es un lenguaje de código abierto muy

1. Introducción a PHP

¿Qué es PHP?

PHP es un lenguaje de código abierto muy popular especialmente adecuado para desarrollo web y que puede ser incrustado en HTML.

El código PHP está entre medio de etiquetas de comienzo y final especiales:

<?php

?>

que nos permitirán entrar y salir del "modo PHP".

Lo que distingue a PHP de algo lado-cliente como Javascript, es que el código es ejecutado en el servidor, generando HTML y enviándolo al cliente. El cliente recibirá los resultados de ejecutar el script, sin ninguna posibilidad de determinar qué código ha producido el resultado recibido.

determinar qué código ha producido el resultado recibido. Páginas web dinámicas PHP es un lenguaje de

Páginas web dinámicas

PHP es un lenguaje de programación utilizado para la creación de páginas dinámicas.

Las páginas web dinámicas son las páginas web que se crean en el momento en que el usuario accede a ellas.

Otros lenguajes similares a PHP

ASP

Es un lenguaje del lado de servidor desarrollado por Microsoft con una funcionalidad similar a PHP pero una sintaxis muy diferente. Este lenguaje genera páginas dinámicas y es ejecutado en el servidor en vez de en el navegador (cliente).

JSP

Java Server Pages (JSP) es la tecnología para generar páginas web de forma dinámica en el servidor, desarrollado por Sun Microsystems, basado en scripts que utilizan una variante del lenguaje java.

2. Instalar PHP

Existe una manera de comenzar a utilizar PHP5 en Windows sin tener que sufrir las complicaciones típicas de la instalación de los servidores necesarios para programar en PHP. Se trata de instalar un paquete llamado WAMP, que permite instalar y configurar en un solo proceso el servidor Apache, la base de datos MySQL y el módulo de programación en PHP versión 5.

en un solo proceso el servidor Apache, la base de datos MySQL y el módulo de
en un solo proceso el servidor Apache, la base de datos MySQL y el módulo de

PHP

PHP Programas que contiene WAMP El software que se instala con WAMP5 contiene los siguientes servidores

Programas que contiene WAMP

El software que se instala con WAMP5 contiene los siguientes servidores y programas:

Apache. El servidor de páginas web más extendido del mercado.

PHP. El motor renovado del lenguaje.

MySQL. La base de datos más extendida para utilizar con PHP.

PHPmyadmin. Un software que permite administrar una base de datos a través de una interfaz web.

SQLitemanager. Un sistema para administrar una base de datos a partir de sentencias SQL.

Instalación de WAMP

La instalación se realiza a través de un ejecutable Windows donde se pueden introducir muy pocas configuraciones, apenas el directorio donde deseamos que se instalen los programas. Después del proceso de instalación se habrán creado un par de servicios con el servidor web y el de bases de datos:

Servicio wampapache: Relacionado con el servidor Apache.

Servicio wampmysql: Relacionado con la base de datos MySQL.

Además, dentro del directorio donde hayamos instalado WAMP se habrá creado una carpeta llamada "www", que corresponde con el directorio de publicación, es decir, el lugar donde se deben colocar las páginas web.

Durante la instalación también debemos decidir si deseamos que WAMP se inicie automáticamente al arrancar el equipo o si deseamos que su puesta en marcha se realice manualmente.

Puesta en marcha de los servidores

Cuando instalamos WAMP se crea un grupo de programas llamado WampServer, donde podremos encontrar una opción que pone "Start Wampserver", que será necesario ejecutar si no hemos seleccionado que el servidor se inicie automáticamente.

Una vez arrancado WampServer dispondremos de un icono en la barra de tareas con una forma similar a la de un marcador de velocidad. Si pulsamos sobre ese icono se abrirá un menú con opciones variadas para gestionar los servicios relacionados con el paquete. La imagen siguiente muestra ese menú.

con el paquete. La imagen siguiente muestra ese menú. Podemos probar si los servicios están corriendo

Podemos probar si los servicios están corriendo perfectamente accediendo a la página de inicio del servidor, escribiendo en la barra de direcciones de nuestro navegador algo como http://localhost/.

Entonces nos debería de aparecer una página con varios enlaces a las distintas herramientas instaladas con WAMP, además de algunas páginas de prueba de PHP.

3. Primeros pasos

Instalar Notepad++

Editor libre de texto y de código fuente que soporta además de PHP muchos otros lenguajes de programación. Lo utilizaremos para escribir los script en PHP. Se ejecuta bajo Windows, y su uso está regulado bajo la licencia GPL.

Nuestro primer script: ejer001.php

PHP. Se ejecuta bajo Windows, y su uso está regulado bajo la licencia GPL. Nuestro primer
PHP. Se ejecuta bajo Windows, y su uso está regulado bajo la licencia GPL. Nuestro primer

PHP

PHP Una vez instalado Wamp, accede desde Windows a la carpeta C:\wamp\www y crea dentro una

Una vez instalado Wamp, accede desde Windows a la carpeta C:\wamp\www y crea dentro una carpeta llamada php que será donde guardemos todos nuestros scripts.

Escribe el siguiente código con el Notepad++ y guárdalo en un archivo llamado ejer001.php en la carpeta anterior C:\wamp\www\php

<html>

<head>

<title>Prueba de PHP</title>

</head>

<body>

<?php

echo"<h2>¡Hola mundo!</h2>";

?>

</body>

</html>

El servidor leerá el fichero y todo lo que está fuera de esas etiquetas lo interpreta como código HTML y por tanto no hará ninguna modificación. Cuando llegue a la etiqueta <?php, sabrá que empieza el código PHP y se lo entregará al intérprete PHP para que ejecute todas las ordenes hasta la etiqueta ?> y genere el código HTML para completar la página y enviarla al cliente. En este caso la orden es echo que lo que hace es mostrar una o más cadenas.

echo()

Imprime el contenido de una cadena estática y/o variables en el navegador. Esta función es muy fácil de utilizar, inclusive los paréntesis no son necesarios. Su estructura es la siguiente:

<?php $saludo = "Hola"; echo ("<h2>$saludo mundo!</h2>"); //se imprime Hola mundo! echo "<h2>$saludo mundo!</h2>"; ?>

1. Las líneas de PHP acaban en ;

2. Las etiquetas <?php y ?> no acaban en punto y coma

3. Podíamos haber utilizado la función print en lugar de echo y el resultado hubiese sido el mismo

La llamada al script se realizará desde el cliente (navegador web), a través de una URL como por ejemplo

http://localhost/php/ejer001.php

Observa en el navegador el código fuente de la página, verás que el cliente (navegador) sólo recibe código HTML.

ejer002.php

Consiste en un script que muestra la fecha y hora del servidor. El objetivo de este ejercicio es ver con más claridad cómo trabaja PHP: ejecutándose el script en el servidor y generando páginas dinámicas. Por tanto no te preocupes si no entiendes las funciones que utilizamos, ya las explicaremos más adelante, repito lo importante es que entiendas lo que hace y cómo lo hace.

<html>

<head>

 

<title>Prueba de PHP</title>

</head>

<body>

 

<?php

date_default_timezone_set('Europe/Madrid'); echo "<p>Hoy es "; echo date("d-m-Y H:i:s")."<p>";

?>

</body>

</html>

echo date("d-m-Y H:i:s")."<p>"; ?> </body> </html> Página 5
echo date("d-m-Y H:i:s")."<p>"; ?> </body> </html> Página 5

PHP

PHP date_default_timezone_set('Europe/Madrid'); — Establece la zona horaria predeterminada usada por todas las

date_default_timezone_set('Europe/Madrid'); Establece la zona horaria predeterminada usada por todas las funciones de fecha/hora en un script

date("d-m-Y H:i:s") Dar formato a la fecha y hora local. La cadena entre comillas indica cómo será devuelta la fecha y hora local.

d

Día del mes, 2 dígitos con ceros iniciales

01 a 31

m

Representación numérica de una mes, con ceros iniciales

01 hasta 12

Y

Una representación numérica completa de un año, 4 dígitos

Ejemplos: 1999 o 2003

H

Formato de 24 horas de una hora con ceros iniciales

00 hasta 23

i

Minutos, con ceros iniciales

00 hasta 59

s

Segundos, con ceros iniciales

00 hasta 59

print()

Imprime el contenido de una cadena estática y/o variables en el navegador. Esta función es muy fácil de utilizar, inclusive los paréntesis no son necesarios. Su estructura es la siguiente:

<?php $saludo = "Hola"; print ("<h2>$saludo mundo!</h2>"); //se imprime Hola mundo! print "<h2>$saludo mundo!</h2>"; ?> Diferencias entre print() y echo():

print() puede comportarse como una función, puesto que devuelve el valor 1, por lo que es posible que una instrucción print() se encuentre participando en expresiones complejas, donde echo() generaría un error.

echo() acepta múltiples argumentos.

print() es más lenta por devolver el valor “TRUE”.

ejer003.php

<?php

print("<a href=\"http://www.iesgalileo.org\">IES Galileo</a><br />\n"); print"\t<span style=\"font-weight:bold\";>Hola mundo</span>";

?>

Observa los caracteres en rojo: \, \n y \t Las etiquetas HTML que requieren comillas pueden causar problemas cuando se manejan desde PHP, ya que la función print() utiliza también comillas. La solución a este problema es utilizar el carácter \para que el intérprete PHP sepa que esas comillas no son el final de la cadena. \n es un salto de línea \t es un tabulador.

PHP sepa que esas comillas no son el final de la cadena. \n es un salto
PHP sepa que esas comillas no son el final de la cadena. \n es un salto

PHP

PHP Comentarios en PHP / / comentario de una línea # comentario de una línea /*

Comentarios en PHP

/ /comentario de una línea

# comentario de una línea

/* Este comentario lo puedes utilizar para comentarios extensos que ocupen varias líneas.

*/

<? echo 'Esto se ve'; // esto no se ve echo 'esto también se ve'; /* esto tampoco se ve */ ?>

< ? # esto no se ve echo 'pero esto si'; ?>

Tendremos cuidado con no poner un comentario multilínea en el interior del otro:

< ? /* /* No hacer nunca esto */ */ ?> Como veis, PHP interpreta como comentario desde el primer /* al primer */ sin tener en cuenta que hay otro */, esto nos producirá un error así que habrá que tener cuidado.

4. Variables

Una variable es un fragmento de memoria a la que le ponemos un nombre y de esta forma podemos usarla para realizar nuestro programas.

Las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa.

Podemos imaginarnos una variable como una caja con un nombre que la identifica y que puede contener un dato de un determinado tipo (números enteros, números racionales, cadenas, …).

Cuando metemos un valor a la variable se dice que le estamos asignando un valor. Cuando esto ocurre, el nuevo valor sustituye al anterior.

Cuando esto ocurre, el nuevo valor sustituye al anterior. En PHP no es necesario ni declarar

En PHP no es necesario ni declarar la variable antes de usarla ni tampoco especificar el tipo de dato que va a utilizar, por ejemplo:

$edad=12; //Será una variable numérica $cadena="Hola mundo"; //Será una cadena de caracteres

$edad=12; //Será una variable numérica $cadena= "Hola mundo" ; //Será una cadena de caracteres Página 7
$edad=12; //Será una variable numérica $cadena= "Hola mundo" ; //Será una cadena de caracteres Página 7

PHP

PHP Normas para los nombres de variables en PHP 1. Toda variable debe empezar por $

Normas para los nombres de variables en PHP

1. Toda variable debe empezar por $

2. El $ debe estar seguido por una letra o un guión bajo_, nunca por un número

3. No se pueden usar espacios en el nombre de la variables

4. No podemos usar “,”, “.” ni otros símbolos, tan sólo “_” o “-

5. PHP es sensible a las mayúsculas por tanto $Num, $NUM y $num son variables diferentes.

6. Conviene utilizar nombres descriptivo para facilitar la programación y modificación del script.

Variables predefinidas

PHP proporciona una gran cantidad de variables predefinidas para todos los scripts. Estas variables se generan automáticamente y contienen diversa información sobre el cliente y el servidor.

Vamos a ver una de estas variables que es $_SERVER es un array que contiene información, tales como cabeceras, rutas y localizaciones del código. Las entradas en este array son creadas por el servidor web. No existe garantía que cada servidor web proporcione todas estas entradas, ya que existen servidores que pueden omitir algunas o proporcionar otras que no se encuentran recogidas aquí.

Tipos de variables según su contenido

Dependiendo de la información que contenga, tenemos diversos tipos de variables:

integer contiene un número entero

double contiene un número con decimales

string una cadena de caracteres

ejer004.php

<body>

 

<pre>

<?php

 

/* Las variables son contenedores de datos

*

que se identifican con un nombre.

*/ $a=5;//variable numérica print("El contenido de la variable a = $a<br />"); print_r($_SERVER);//variable predefinida

 

?>

</pre>

</body>

<pre> </pre> (PREformated) que nos permite formatear cualquier texto que se encuentre dentro de ella.

print_r() nos devuelve de forma legible información acerca de una variable o array.

ejer005.php

¿ Obtener el Tipo de una Variable ? Con la funcion gettype() podemos obtener el tipo de una Variable

<?php

$a=12; // Entero $b=32.23; // Double = Float $c="5223"; // String echo '$a es '.gettype($a).' <br> '; echo '$b es '.gettype($b).' <br> '; echo '$c es '.gettype($c).' <br> ';

?>

'.gettype($b).' <br> '; echo '$c es '.gettype($c).' <br> '; ?> Página 8
'.gettype($b).' <br> '; echo '$c es '.gettype($c).' <br> '; ?> Página 8

PHP

PHP Observa que echo muestra:  literalmente el contenido (no el contenido de la variable) con

Observa que echo muestra:

literalmente el contenido (no el contenido de la variable) con la cadena '$a es ' por estar entre comillas simples.

el punto concatena (unir) dos cadenas para formar una nueva.

Matrices (Arrays)

Este tema será una pequeña introducción a las matrices y más adelante, por su importancia, las veremos con más profundidad.

En la realización de un script en PHP en múltiples ocasiones existen variables que tienen información similar y se procesan de forma semejante. Para ello PHP (y otros lenguajes) poseen un elemento denominado array. Un array es un conjunto de variables agrupadas bajo un único nombre. Cada variable dentro de la matriz se denomina elemento. Dentro de la misma matriz pueden existir variables de diferentes tipos y no es necesario que sean todas del mismo tipo.

Por ejemplo:

$sentido[1]="vista";

$sentido[2]="tacto";

$sentido[3]=“oído";

$sentido[4]="gusto";

$sentido[5]="olfato";

“vista”

“tacto”

“oído”

“gusto”

“olfato”

$sentido[1]

$sentido[2]

$sentido[3]

$sentido[4]

$sentido[5]

ejer006.php

 

<body>

 

<pre>

<?php

 

$sentidos[1]="vista";

$sentidos[2]="tacto";

$sentidos[3]="oído";

$sentidos[4]="gusto";

$sentidos[5]="olfato";

print_r($sentidos);

 

?>

</pre>

</body>

ejer007.php

Dado el siguiente script PHP incompleto:

<?php

 

$direccion="Villabañez, s/n";//variable tipo cadena $ciudad="Valladolid";//variable de cadena $codPostal=47012;//variable numérica

$telefono[1]=983205640;

$telefono[2]=983205641;

?>

//variable numérica $telefono[1]=983205640; $telefono[2]=983205641; … ?> Página 9
//variable numérica $telefono[1]=983205640; $telefono[2]=983205641; … ?> Página 9

PHP

PHP Completarlo para que la salida sea similar a la siguiente: ejer008.php  Diferencia entre comillas

Completarlo para que la salida sea similar a la siguiente:

Completarlo para que la salida sea similar a la siguiente: ejer008.php  Diferencia entre comillas dobles

ejer008.php

Diferencia entre comillas dobles y simples

<?php

 

/* Si quiere mostrar el valor de una variable dentro de un contexto

*

puede utilizar la función print colocando el nombre de la variable

*

en la cadena siempre y cuando utilice comillas dobles.

*/

$num1=12;

 

$num2=8;

 

$suma=$num1+$num2;

print("<p>$num1 + $num2 = $suma </p>"); /* Si en lugar de comillas dobles se utiliza comillas simples, el

* contenido se muestra literalmente, es decir, sin cambiar los

* nombres de las variables por su contenido.

*/ print('<p>$num1 + $num2 = $suma</p>'); print('<p>Dentro de las comillas simples se puede introducir "comillas dobles"</p>');

print("<p style=\"color:red;\"> este texto está entre comillas dobles</p>");

?>

5. Formularios

Vamos a dar un repaso a los formularios básicos HTML y veremos la interacción con PHP.

Un formulario básico en HTML se compone de la etiqueta <form> con un conjunto de parámetros (de los cuales veremos los básicos) y el conjunto de campos que se envía con el formulario. Lo más básico para definir un formulario sería, por ejemplo:

<form name='mi_formulario' action='procesar.php' method='post'>

</form>

action: indica la página de destino a la que se deben mandar los datos del formulario. Como vemos en el ejemplo, los datos se mandarían a la página procesar.php

method: indica cómo se deben pasar los parámetros:

post: se mandan como variables “ocultas” (basta saber esto para lo que queremos conseguir en este cursillo).

: se mandan como variables “ocultas” (basta saber esto para lo que queremos conseguir en este
: se mandan como variables “ocultas” (basta saber esto para lo que queremos conseguir en este

PHP

PHP • get : las variables se mandan dentro de la URL de destino (son visibles).

get: las variables se mandan dentro de la URL de destino (son visibles).

Por ejemplo si pasamos una variable que sea el DNI de la persona y el formulario usa method=”get” veríamos en la barra de navegador una URL similar a:

Sin embargo, con post veríamos solamente http://miservidor/pagina.php y el acceso a la variable DNI vendría “embebido” en el formulario.

Visto así, parece que siempre debiéramos usar post en vez de get, ¿verdad? El usuario no tiene por qué ver qué variables manejamos. Esto será cierto la mayoría de los casos, pero habrá ocasiones en las que no nos quede más remedio que usar get. La experiencia te irá diciendo cuándo usar uno u otro método.

formulario1.html y ejer009.php

Hacer un formulario que pida el nombre y el correo electrónico y envíe dicha información utilizando el método post a un script PHP la muestre en la pantalla del navegador.

formulario1.html

la muestre en la pantalla del navegador. formulario1.html ejer009.php formulario2.html y ejer010.php Hacer un

ejer009.php

en la pantalla del navegador. formulario1.html ejer009.php formulario2.html y ejer010.php Hacer un formulario que pida

formulario2.html y ejer010.php

Hacer un formulario que pida el número de kilómetros y un script PHP que con la información suministrada por el formulario convierta los Kilómetros en Millas y muestre el resultado en la pantalla del navegador. Utilizar el método get para enviar la información del formulario.

formulario2.html

para enviar la información del formulario. formulario2.html ejer010.php Observa la barra de direcciones del navegador:

ejer010.php

la información del formulario. formulario2.html ejer010.php Observa la barra de direcciones del navegador: Como puedes

Observa la barra de direcciones del navegador:

ejer010.php Observa la barra de direcciones del navegador: Como puedes observar, a la página que recibe

Como puedes observar, a la página que recibe los datos se le envía una serie de pares nombre=valor (en nuestro caso km=100 y boton=Convertir) separados por un ampersand (&). La secuencia completa está precedida por un signo de interrogación (inmediatamente después del nombre del script).

Enviar datos a una página manualmente

Si en la barra de direcciones anterior cambias 100 por 200 y refrescas la página el navegador te mostrará:

Si en la barra de direcciones anterior cambias 100 por 200 y refrescas la página el
Si en la barra de direcciones anterior cambias 100 por 200 y refrescas la página el
Si en la barra de direcciones anterior cambias 100 por 200 y refrescas la página el

PHP

PHP Por tanto, podemos transferir los datos de esta forma creando un formulario HTML que utilice

Por tanto, podemos transferir los datos de esta forma creando un formulario HTML que utilice el método get.

Pero también podemos utilizar esta misma idea para enviar datos a una página PHP sin utilizar el formulario. Normalmente podría realizarlo utilizando vínculos a otra página:

ejer011.html

<html>

<head>

<title>Pasar Kilomentros a Millas</title> </head> <body>

<a href="Ejer010.php?km=300">¿Cuantas millas son 300 Km?</a>

</html>

</body>

Ejer012.html y ejer012.php

Hacer un archivo html que muestre una lista desordenada con tres nombres que enlacen a ejer012.php que mostrará en pantalla un saludo personalizado.

ejer012.html

ejer012.php

Hola, Paco!

Hola, Paco!

Hola, Pepe!

Hola, María!

6. Operadores

Los operadores son componente esencial de cualquier lenguaje de programación. Con ellos podemos asignar, unir, cambiar o comparar valores de datos, cambiar el flujo del programa, etc.

Los operadores son símbolos que representan operaciones sobre un valor.

Operador de asignación

El símbolo = permite asignar valores a variables:

<?php

$ciudad = "madrid"; $mi_numero = 123; $var1 = var2 = 0;

?>

Operadores aritméticos

Los simbolos + - / * permiten realizar las operaciones de suma, resta, división y multiplicación. El símbolo % permite hallar el resto de una división.

Operadores de incremento - decremento

Los símbolos ++ y -- aplicados a una variable, permiten incrementar o decrecer su valor. Su efecto es distinto segun se empleen precediendo o siguiendo el nombre de la variable:

o decrecer su valor. Su efecto es distinto segun se empleen precediendo o siguiendo el nombre
o decrecer su valor. Su efecto es distinto segun se empleen precediendo o siguiendo el nombre

PHP

PHP ++$a Incrementa $a en uno y después devuelve $a. $a++ Devuelve $a y después incrementa

++$a Incrementa $a en uno y después devuelve $a. $a++ Devuelve $a y después incrementa $a en uno. --$a Decrece el valor de $a en uno y después devuelve $a. $a-- Devuelve $a y después decrece su valor en uno.

ejer013.html y ejer013.php

Realiza el siguiente formulario HTML (ejer013.html):

Realiza el siguiente formulario HTML (ejer013.html): Condiciones para la solución:  Utilizar una tabla 

Condiciones para la solución:

Utilizar una tabla

Tipo de IVA

o

General 18%

o

Reducido 8%

o

Superreducido4%

Método de transporte

o

Ordinario 5€

o

Urgente 10€

Realizar un formulario ejer013.php que maneje el formulario anterior y que proporcione la siguiente salida al cliente:

anterior y que proporcione la siguiente salida al cliente: ejer014.html y ejer014.php ejer014.html es igual que

ejer014.html y ejer014.php

ejer014.html es igual que ejer013.html, sólo tienes que cambiar el manejador del formulario

ejer014.php a partir de los datos suministrados por el formulario de ejer014.html mostrará al cliente la siguiente información:

de los datos suministrados por el formulario de ejer014.html mostrará al cliente la siguiente información: Página
de los datos suministrados por el formulario de ejer014.html mostrará al cliente la siguiente información: Página
de los datos suministrados por el formulario de ejer014.html mostrará al cliente la siguiente información: Página
de los datos suministrados por el formulario de ejer014.html mostrará al cliente la siguiente información: Página

PHP

PHP Redondear números round( float num [, precisión] ) Es una función matemáticas de PHP que

Redondear números

round(float num [, precisión]) Es una función matemáticas de PHP que nos permite redondear un float (número en coma flotante o número con decimales) al valor entero más próximo. round(0.6) devolvería el valor entero 1. round(7.3) devolvería el valor entero 7. Pero en muchas ocasiones vamos a necesitar redondear un número en coma flotante de manera que conservemos algunos decimales. Por ejemplo, si estamos haciendo operaciones con euros o dólares, lo lógico es que conservemos dos decimales en el redondeo. En este caso añadiremos un segundo argumento que representa al número de decimales al que redondea el número. round(4.289, 2) devolverá 4.29

floor(float num) Redondea el valor de num al entero más próximo por debajo.

<?php echo floor(4.3); // 4 echo floor(9.999); // 9 echo floor(-3.14); // -4 ?>

ceil(float num) Redondea el valor de num al entero más próximo por encima.

<?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 echo ceil(-3.14); // -3 ?>

Ejercicio:

En el ejercicio anterior redondear con dos decimales el total pedido y el importe de cada pago.

con dos decimales el total pedido y el importe de cada pago. Dar formato a los

Dar formato a los números

number_format(num, nd, ‘separador_decimales’, ‘separador_miles)

num es el número al que se quiere dar formato

nd es opcional y representa el número de decimales al que se quiere redondear

‘separador_decimales’ es opcional, si no se pone nada el separador de decimales es el punto.

‘separador_miles’ es opcional, si no se pone nada el separador de miles es la coma.

number_format(258.849) devolvería el valor 259 number_format(258.849, 2) devolvería el valor 258.85 number_format(258, 2) devolvería el valor 258.00 number_format(12345678.1733, 2) devolvería el valor 12,345,678.17 number_format(12345678.1733, 2, ‘,’, ‘.’) devolvería el valor 12.345.678,17

el valor 12,345,678.17 n umber_format(12345678.1733, 2, ‘,’, ‘.’) devolvería el valor 12.345.678,17 Página 14
el valor 12,345,678.17 n umber_format(12345678.1733, 2, ‘,’, ‘.’) devolvería el valor 12.345.678,17 Página 14

PHP

PHP Ejercicio: En el ejercicio anterior dar formato con dos decimales y separador de miles a

Ejercicio:

En el ejercicio anterior dar formato con dos decimales y separador de miles a el total pedido y al importe de cada pago.

Operador de concatenación

Usando el símbolo del . podemos unir valores:

Usando el símbolo del . podemos unir valores: <?php $nombre = "jorge" ; $apellido =

<?php $nombre = "jorge"; $apellido = "pérez"; $id = $nombre." ".$apellido; // suma los dos valores mas un espacio ?>

El operador .= asigna un dato al valor anterior:

<?php

 

echo "uno, dos, tres" . ", cuatro, cinco, seis"; // imprime "uno, dos, tres, cuatro, cinco, seis"

$id = "jorge"; $id .=" perez"; // $id es ahora jorge perez

?>

Operadores de comparación

Operador

Ejemplo

Resultado

== (igual)

$x == $y

true si $x es igual a $y; false de lo contrario.

!= o también <> (no igual)

$x !=

$y

true si $x no es igual a $y; false de lo contrario.

=== (idéntico)

$x === $y

true si $x es igual a $y y son del mismo tipo; false de lo contrario.

!== (no idéntico)

$x !== $y

true si $x es igual a $y y no son del mismo tipo; false de lo contrario.

< (menor que)

$x < $y

true si $x es menor que $y; false de lo contrario.

> (mayor que)

$x > $y

true si $x es mayor que $y; false de lo contrario.

<= (menor o igual que)

$x <= $y

true si $x es menor o igual que $y; false de lo contrario.

>= (mayor o igual que)

$x >= $y

true si $x es mayor o igual que $y; false de lo contrario.

Operadores lógicos

&&, and

Operador and (y) Operador or (o)

$x

$y

$x && $y $x and $y

$x

$y

$x || $y $x or $y

||, or

   

!

Operador not (no)

true

true

true

true

true

true

 

true

false

false

true

false

true

false

true

false

false

true

true

false

false

false

false

false

false

true false true false false true true false false false false false false Página 15
true false true false false true true false false false false false false Página 15

PHP

PHP Constantes bool define ( string $name , mixed $value [, bool $case_insensitive = false ]

Constantes

bool define ( string $name , mixed $value [, bool $case_insensitive = false ] )

Para definir una constante con nombre.

= false ] ) Para definir una constante con nombre. Prioridad de los operadores ++ --

Prioridad de los operadores

++ --

!

* / % + - . < <= > >= <> == != === !== && || = += -= *= /= .= %= &= |= ^= <<= >>= => and or

Expresiones

Una expresión en PHP es una combinación de constantes, variables o funciones, que es interpretada (evaluada) de acuerdo a las normas particulares de precedencia del lenguaje. Por ejemplo: 10+$x/5 Toda expresión da lugar a un valor que podrá ser numérico, alfanumérico o lógico.

Ejercicio:

Escribe una expresión que sea true cuando el valor numérico real que contiene la variable $nota sea un notable (consideraremos que son notable todas las notas que se encuentran en el intervalo [7.0, 8.99])

7. Programación estructurada

El teorema del programa estructurado, demuestra que todo programa puede escribirse utilizando únicamente las tres estructuras de control siguientes:

Secuencial,

Condicional,

Repetitiva.

únicamente las tres estructuras de control siguientes:  Secuencial,  Condicional,  Repetitiva. Página 16
únicamente las tres estructuras de control siguientes:  Secuencial,  Condicional,  Repetitiva. Página 16

7.1 Estructura secuencial

PHP

7.1 Estructura secuencial PHP La estructura secuencial es aquella en la que una instrucción sigue a
7.1 Estructura secuencial PHP La estructura secuencial es aquella en la que una instrucción sigue a
7.1 Estructura secuencial PHP La estructura secuencial es aquella en la que una instrucción sigue a

La estructura secuencial es aquella en la que una instrucción sigue a otra en secuencia. Todos los scripts que hemos hecho hasta ahora tienen esta única estructura.

ejer015.html y ejer015.php

Hacer un programa que calcule el área y el volumen de un cilindro.

Condiciones para la solución:

La altura (h) y el radio (r) serán introducidos por teclado

El valor de PI será una constante simbólica de valor 3.141592

ejer015.html

una constante simbólica de valor 3.141592 ejer015.html ejer015.php Texto de la pagina: Un cilindro circular recto

ejer015.php

simbólica de valor 3.141592 ejer015.html ejer015.php Texto de la pagina: Un cilindro circular recto es aquel

Texto de la pagina:

Un cilindro circular recto es aquel cuerpo o sólido geométrico generado por el giro de una región rectangular en torno a uno de sus lados o también en torno a uno de sus ejes de simetría.

Área total: Superficie completa de la figura, es decir, el área lateral más el área de las bases de la figura.

Volumen del cilindro: Para un cilindro circular, su volumen (V) es igual al producto del área del círculo basal por su altura (h).

Para un cilindro circular, su volumen (V) es igual al producto del área del círculo basal
Para un cilindro circular, su volumen (V) es igual al producto del área del círculo basal

PHP

PHP Imagen de la página: cilindro.png En el ejercicio anterior (15) cuando el usuario pulsa el

Imagen de la página: cilindro.png

PHP Imagen de la página: cilindro.png En el ejercicio anterior (15) cuando el usuario pulsa el

En el ejercicio anterior (15) cuando el usuario pulsa el botón sin haber introducido nada, muestra los siguiente:

el botón sin haber introducido nada, muestra los siguiente: Modificarlo de tal forma que el mensaje

Modificarlo de tal forma que el mensaje mostrado sea este otro:

de tal forma que el mensaje mostrado sea este otro: 7.2 Estructura condicional (if) Son aquellas

7.2 Estructura condicional (if)

Son aquellas que controlan la ejecución o la no ejecución de una o más instrucciones en función de que se cumpla o no una condición. Pueden ser:

Simples

if(expresión){ //ejecutar este código si se cumple la condición

}

Dobles

if(expresión){ //ejecutar este código si se cumple la condición

}else{

//ejecutar este código si no se cumple la condición

}

Múltiples

switch ($i) { case 0:

 

echo "i es igual a 0"; break;

case 1:

 

echo "i es igual a 1"; break;

case 2:

 

echo "i es igual a 2"; break;

default:

echo "i no es igual a 0, 1 ni 2";

}

:   echo "i es igual a 2" ; break; default: echo "i no es igual
:   echo "i es igual a 2" ; break; default: echo "i no es igual

PHP

PHP Ejercicios de expresiones lógicas:  Suponiendo que la variable $nota es de tipo real, construye

Ejercicios de expresiones lógicas:

Suponiendo que la variable $nota es de tipo real, construye una expresión que sea true (verdadera) para todas las notas validas (comprendidas entre 0.0 y 10.0)

todas las notas validas (comprendidas entre 0.0 y 10.0)  Construir una expresión con la variable

Construir una expresión con la variable $nota que sea true (verdadera) cuando la nota no sea válida.

Estructura condicional simple:

if(expresión lógica)

{

instrucción 1;

}

simple: if(expresión lógica) { instrucción 1; } ejer016.html y ejer016.php Una empresa vende un único

ejer016.html y ejer016.php

Una empresa vende un único artículo cuyo precio de venta unitario es 11,90 €. Hacer un programa que lea la cantidad comprada y calcule lo que tiene que pagar el cliente, teniendo en cuenta que en ventas superiores a 10 unidades hay un descuento del 5%. Condiciones para la solución:

Utilizar un formulario para que el usuario teclee la cantidad de artículos que desea comprar

Utilizar tipo de datos float y enteros

Utilizar una estructura condicional simple

Ejer016.html

– Utilizar una estructura condicional simple Ejer016.html Estructura condicional doble: if(expresión lógica) {

Estructura condicional doble:

if(expresión lógica)

{

 

instrucción 1;

}else{

 

instrucción 2;

}

Ejer016.php

if(expresión lógica) {   instrucción 1; }else{   instrucción 2; } Ejer016.php Página 19
if(expresión lógica) {   instrucción 1; }else{   instrucción 2; } Ejer016.php Página 19
if(expresión lógica) {   instrucción 1; }else{   instrucción 2; } Ejer016.php Página 19
if(expresión lógica) {   instrucción 1; }else{   instrucción 2; } Ejer016.php Página 19

PHP

PHP ejer017.html y ejer017.php Para poder acceder a un puesto de Policía Nacional es necesario que

ejer017.html y ejer017.php

Para poder acceder a un puesto de Policía Nacional es necesario que los aspirantes midan al menos 1,70 m y que su edad esté comprendida entre los 18 y 39 años (ambos inclusive). Hacer un formulario que pida el año de nacimiento y la altura en metros de una persona y un script de PHP que con esos datos diga si la persona es admitida o no como aspirante. Además en caso de no ser admitida dirá la causa por la que no ha sido admitida.

Ejer017.html

Ejer017.html Ejer017.php Ejer017.html Ejer017.php

Ejer017.php

Ejer017.html Ejer017.php Ejer017.html Ejer017.php

Ejer017.html

Ejer017.html Ejer017.php Ejer017.html Ejer017.php

Ejer017.php

Ejer017.html Ejer017.php Ejer017.html Ejer017.php

Estructura elseif:

if(expresión lógica)

{

}

}

}

}

instrucción 1;

elseif (expresión lógica){ instrucción 2;

elseif (expresión lógica){ instrucción 3;

else (expresión lógica){ instrucción 4;

instrucción 3; else (expresión lógica){ instrucción 4; ejer018.html y ejer018.php Formulario que permita introducir

ejer018.html y ejer018.php

Formulario que permita introducir 3 números por teclado. Script de PHP que muestre los tres números en orden creciente

Ejer018.html

muestre los tres números en orden creciente Ejer018.html Estructura condicional múltiple (switch): Ejer018.php

Estructura condicional múltiple (switch):

Ejer018.php

Estructura condicional múltiple (switch): Ejer018.php switch es una alternativa quizás más legible cuando

switch es una alternativa quizás más legible cuando necesitamos evaluar una variable frente a múltiples valores posibles.

alternativa quizás más legible cuando necesitamos evaluar una variable frente a múltiples valores posibles. Página 20
alternativa quizás más legible cuando necesitamos evaluar una variable frente a múltiples valores posibles. Página 20

PHP

PHP El uso de break; es necesario, ya que en la estructura switch una vez cumplida

El uso de break; es necesario, ya que en la estructura switch una vez cumplida una condición se ejecutan el resto de declaraciones (incluso las comprendidas en los casos que siguen). La orden break evita esto saltando fuera del switch y continuando la ejecución del resto del script. Si en lugar de break usamos exit, el resto del script no se ejecutará.

switch ($op) { case "a":

// código que se ejecuta si $op vale "a" break; case "b":

// código que se ejecuta si $op vale "b" break; case "c":

// código que se ejecuta si $op vale "c" break; default:

/* código a ejecutar si no se cumple

*

ninguna condición

*/

}

a ejecutar si no se cumple * ninguna condición */ } Funcion : is_numeric Permite saber

Funcion : is_numeric Permite saber si el contenido de una variable es un número o una cadena. En caso de que el valor de la variable a verificar sea un número, devolverá un valor TRUE, en caso contrario, devolverá FALSE. Ejemplo:

$valor = 1395; if (is_numeric($valor)) echo("Es un número");

else

echo("Es una Cadena");

ejer019.html y ejer019.php

Un formulario pide al usuario que teclee nota (será un número entero) y un script de PHP que dependiendo de la nota tecleada por el usuario:

– si la nota es 0, 1 ó 2 visualizar "Muy deficiente“

si es 3 ó 4 visualizará "Insuficiente"

si es 5 "Suficiente"

si es 6 "Bien"

si es 7 u 8 "Notable"

y si es 9 ó 10 "Sobresaliente"

en cualquier otro caso:

si la nota no es un número entero visualizará “Error, nota tiene que ser entero”.

si la nota es otro número entero visualizará "Error, nota no válida".

– si la nota es un valor no numérico visualizará “Error, no es un dato numérico”.

Ejer019.html

visualizará “Error, no es un dato numérico”. Ejer019.html 7.3 Estructura repetitiva (bucles) Ejer019.php Página 21

7.3 Estructura repetitiva (bucles)

Ejer019.php

visualizará “Error, no es un dato numérico”. Ejer019.html 7.3 Estructura repetitiva (bucles) Ejer019.php Página 21
visualizará “Error, no es un dato numérico”. Ejer019.html 7.3 Estructura repetitiva (bucles) Ejer019.php Página 21
visualizará “Error, no es un dato numérico”. Ejer019.html 7.3 Estructura repetitiva (bucles) Ejer019.php Página 21
visualizará “Error, no es un dato numérico”. Ejer019.html 7.3 Estructura repetitiva (bucles) Ejer019.php Página 21

PHP

PHP La idea básica de un bucle es ejecutar el mismo bloque de código una y

La idea básica de un bucle es ejecutar el mismo bloque de código una y otra vez hasta que se cumpla una determinada condición. Hay tres sentencias repetitivas:

while

do/while

for

while

El bucle while ejecuta una instrucción (que puede ser un bloque) mientras sea cierta una determinada expresión lógica.

El bucle while no llegará a ejecutarse si la expresión lógica es falsa desde el principio

while(expresión lógica)

{

bloque de instrucciones

}

while( expresión lógica ) { bloque de instrucciones } ejer020.php Hacer un programa en PHP que

ejer020.php

Hacer un programa en PHP que escriba los números del 1 al 100. Condición para la solución:

Utilizar el bucle while.

Números aleatorios

Un número aleatorio es aquel obtenido al azar, es decir, que todo número tenga la misma probabilidad de ser elegido y que la elección de uno no dependa de la elección del otro. El ejemplo clásico más utilizado para generarlos es el lanzamiento repetitivo de una moneda o dado ideal no trucado.

¿Para que sirven los números aleatorios?

Los números aleatorios permiten a los modelos matemáticos representar la realidad. En general cuando se requiere una impredecibilidad en unos determinados datos, se utilizan números aleatorios.

Por ejemplo si queremos simular con un programa el lanzamiento de una moneda o de un dado deberemos utilizar números aleatorios.

Funciones PHP para generar números aleatorios:

rand Genera un número entero aleatorio

int rand ( void ) int rand ( int $min , int $max )

Se si emplea sin los argumentos min y max, rand() devuelve un entero pseudo-aleatorio entre 0 y getrandmax(). Para obtener un número aleatorio, por ejemplo, entre 5 y 15 (incluidos), use rand(5,15).

En algunas plataformas (como en Windows), getrandmax() sólo alcanza hasta 32767. En caso de necesitar un valor mayor de 32767, se deberá especificar min y max que permiten crear un valor mayor que 32767, o considere emplear mt_rand() en su lugar.

min y max que permiten crear un valor mayor que 32767, o considere emplear mt_rand() en
min y max que permiten crear un valor mayor que 32767, o considere emplear mt_rand() en

PHP

PHP mt_rand — Genera un mejor número entero aleatorio int mt_rand ( void ) int mt_rand

mt_rand Genera un mejor número entero aleatorio

int mt_rand ( void ) int mt_rand ( int $min , int $max )

La función mt_rand() utiliza un generador de números aleatorios que produce números aleatorios cuatro veces más rápido que el promedio de lo que proporciona la libc rand().

Se si emplea sin los argumentos min y max, mt_rand() devuelve un valor pseudo-aleatorio entre 0 y mt_getrandmax(). Para obtener un número aleatorio, por ejemplo, entre 5 y 15 (incluidos), use mt_rand(5,15).

Variable contador

Es una variable que utiliza el programa para contar las veces que ocurre un suceso en el programa (por ejemplo en un programa que lee notas podemos utilizar un contador para contar los aprobados). Generalmente el programa inicializará el contador a cero y cada vez que ocurra el suceso incrementará el valor del contador en uno. Por ejemplo:

$contador=0;//Inicializa el contador

if($nota>=5)

contador=contador+1;//Incrementa el contador. Es muy frecuente poner contador++ o también ++contador

ejer021.php

Hacer un programa en PHP que simule 10 lanzamientos de una moneda al aire.

En cada lanzamiento el programa mostrara “Cara” o “Cruz”.

Al final de los lanzamientos el programa mostrará en pantalla el número total de caras y de cruces.

do … while

pantalla el número total de caras y de cruces. do … while El bucle do/while es

El bucle do/while es similar al bucle while con la excepción de que la expresión lógica se evalúa al final del bucle. Primero realiza la acción y luego pregunta, si la expresión lógica es verdadera vuelve a dar un ciclo, de lo contrario termina. Esto nos garantiza que la acción se va a realizar al menos una vez.

do{

bloque de instrucciones } while(expresión lógica);

ejer022.php

se va a realizar al menos una vez. do{ bloque de instrucciones } while( expresión lógica
se va a realizar al menos una vez. do{ bloque de instrucciones } while( expresión lógica
se va a realizar al menos una vez. do{ bloque de instrucciones } while( expresión lógica

PHP

PHP for El bucle FOR se suele utilizar cuando sabemos el número de veces que queremos
PHP for El bucle FOR se suele utilizar cuando sabemos el número de veces que queremos

for

El bucle FOR se suele utilizar cuando sabemos el número de veces que queremos que se ejecute.

La cabecera del bucle for consta de tres parámetros:

for (inicialización; terminación; incremento) {

bloque de instrucciones

}

for($con=0; $cont<100; $con++) {

bloque de instrucciones

}

Inicialización: se realiza antes de entrar en el bucle. Normalmente se utiliza para inicializar una variable que será el contador del bucle.

Terminación: expresión lógica que se evalúa al principio del bucle y que si es false el bucle se termina. Normalmente se utiliza para comprobar si el contador ha alcanzado el valor final.

Incremento: es invocado al final del bucle. Normalmente se utiliza para incrementar o decrementar el valor del contador.

para incrementar o decrementar el valor del contador. ejer023.php Hacer un programa en PHP que escriba

ejer023.php

Hacer un programa en PHP que escriba los 100 primeros múltiplos de 3 y al final la suma de todo ellos. Condición para la solución:

Utilizar el bucle for.

ejer024.html, ejer024_1.php y ejer024_2.php

ejer024.html

ejer024_1.php

ejer024_2.php

ejer024.html ejer024_1.php ejer024_2.php
ejer024.html ejer024_1.php ejer024_2.php
ejer024.html ejer024_1.php ejer024_2.php
el bucle for. ejer024.html, ejer024_1.php y ejer024_2.php ejer024.html ejer024_1.php ejer024_2.php Página 24
el bucle for. ejer024.html, ejer024_1.php y ejer024_2.php ejer024.html ejer024_1.php ejer024_2.php Página 24

PHP

PHP ejer025.html y ejer025.php Hacer un formulario HTML que pida al usuario un número entero y

ejer025.html y ejer025.php

Hacer un formulario HTML que pida al usuario un número entero y un script PHP que calcule el factorial del número recibido del formulario. Para todo número natural n, se llama n factorial o factorial de n al producto de todos los naturales desde 1 hasta n:

de n al producto de todos los naturales desde 1 hasta n: Se define 0! =

Se define 0! = 1, para que la relación n! = n × (n − 1)! sea también válida para n = 1.

Ejer025.html

× (n − 1)! sea también válida para n = 1. Ejer025.html Ejer025.php ejer026.html y ejer026.php

Ejer025.php

sea también válida para n = 1. Ejer025.html Ejer025.php ejer026.html y ejer026.php Escribe un programa en

ejer026.html y ejer026.php

Escribe un programa en PHP que escriba todos los números de un intervalo. Los dos números enteros que serán los limites inferior y superior del intervalo se los proporcionará un formulario.

Ejer026.html

los limites inferior y superior del intervalo se los proporcionará un formulario. Ejer026.html Ejer026.php Página 25

Ejer026.php

los limites inferior y superior del intervalo se los proporcionará un formulario. Ejer026.html Ejer026.php Página 25
los limites inferior y superior del intervalo se los proporcionará un formulario. Ejer026.html Ejer026.php Página 25
los limites inferior y superior del intervalo se los proporcionará un formulario. Ejer026.html Ejer026.php Página 25

8. Cadenas (String)

PHP

8. Cadenas (String) PHP Una cadena o string es una secuencia de caracteres. La web está
8. Cadenas (String) PHP Una cadena o string es una secuencia de caracteres. La web está
8. Cadenas (String) PHP Una cadena o string es una secuencia de caracteres. La web está

Una cadena o string es una secuencia de caracteres.

La web está basada en datos de cadena (HTML, URL, …), esto significa que los lenguajes de programación web como PHP están particularmente orientados a trabajar con cadenas.

Nota: No existe problema alguno para que un string sea muy grande. PHP no impone ningún límite para el tamaño de un string; el único límite es la memoria disponible en el ordenador donde se está ejecutando PHP.

Un string literal puede ser especificado de cuatro formas diferentes:

comillas simples

comillas dobles

sintaxis heredoc

sintaxis nowdoc (desde PHP 5.3.0)

Comillas sencillas Las variables y las sentencias de escape para caracteres especiales no se expandirán cuando estén incluidas dentro de un string con comillas simples.

<?php echo 'Esto es una cadena sencilla'; echo 'Tambien puede incluir nuevas líneas en cadenas de esta forma ya que es correcto hacerlo así'; // Resultado: Arnold una vez dijo: "I'll be back" echo 'Arnold una vez dijo: "I\'ll be back"'; // Resultado: Ha borrado C:\*.*? echo 'Ha borrado C:\\*.*?'; // Resultado: Ha borrado C:\*.*? echo 'Ha borrado C:\*.*?'; // Resultado: Esto no se expandirá: \n una nueva línea echo 'Esto no se expandirá: \n una nueva línea'; // Resultado: Las variables $tampoco se $expandiran echo 'Las variables $tampoco se $expandiran'; ?>

Comillas dobles

La característica más importante de entrecomillar un string mediante comillas dobles es el hecho que los nombres de las variables son expandidas. Si un string está encerrado entre comillas dobles ("), PHP interpretará más sentencias de escape como caracteres especiales:

\n avance de línea

\f

avance de página

\r

retorno de carro

\\

barra invertida

\t tabulador horizontal

\$

signo del dólar

\v tabulador vertical

\"

comillas dobles

Heredoc

Una tercera forma de delimitar un string es mediante la sintaxis heredoc: <<<. Después de este operador, se deberá ofrecer un identificador y después una nueva línea. A continuación va el propio string, y para cerrar la notación se pone el mismo identificador.

El identificador de cierre debe empezar en la primera columna de la nueva línea. Asimismo, el identificador debe seguir las mismas reglas de nomenclatura de las etiquetas en PHP: debe contener solo caracteres alfanuméricos y guiones bajos, y debe empezar con un caracter alfabético o un guión bajo.

solo caracteres alfanuméricos y guiones bajos, y debe empezar con un caracter alfabético o un guión
solo caracteres alfanuméricos y guiones bajos, y debe empezar con un caracter alfabético o un guión

PHP

PHP <?php echo <<<EOT esta cadena se imprimirá sin problemas, y podemos usar en ellas

<?php echo <<<EOT esta cadena se imprimirá sin problemas, y podemos usar en ellas "comillas" sin necesidad de escape; Tambien interpreta (expande) las $variables Lo que es ideal para incluir grandes trozos de código html. EOT;

?>

Nowdoc

Nowdocs son a las cadenas con comillas simples lo mismo que Heredoc lo es a las comillas dobles. Una cadena nowdoc se especifica de forma análoga a la heredoc, pero no se realiza ningún análisis dentro de nowdoc. Esta construcción es ideal para embeber código PHP o grandes fragmentos de texto sin necesidad de escaparlo. Comparte algunas características comunes con la construcción SGML <![CDATA[ ]]>, donde se declara un fragmento de texto que no debe ser analizado.

Una cadena nowdoc se identifica con la misma sintaxis <<< usada para heredoc, pero el identificador que le sigue esta encerrado entre comillas simples, por ejemplo <<<'EOT'. Todas las reglas para los identificadores heredoc también son aplicables a los identificadores nowdoc, especialmente aquellos que se refieren al empleo del identificador de cierre.

echo <<<'ABC' Texto largo, de varias líneas, que se imprime usando la sintaxis NOWDOC.

Las variables aquí NO son interpretadas: $variable ABC;

Llaves{}

Consideremos el siguiente código:

$animalFavorito=”gato”:

echo (“Mis animales favoritos son los $animalFavoritos”);

Este código es ambiguo. ¿PHP interpreta insertar el contenido de la variable $animalFavorito seguido del carácter ‘s’? ¿O debería insertar el contenido de la variable $animalFavoritos (no existente)? PHP interpreta lo último. Para evitar este problema podemos utilizar las llaves como sigue:

echo (“Mis animales favoritos son los {$animalFavorito}s”);

Funciones de strings

Longitud de una cadena

int strlen ( string ) Devuelve la longitud del string dado.

Funciones de strings Longitud de una cadena int strlen ( string ) Devuelve la longitud del
Funciones de strings Longitud de una cadena int strlen ( string ) Devuelve la longitud del

PHP

PHP ejer027.html y ejer027.php Escribe un programa en PHP que escriba una tantas veces como letras

ejer027.html y ejer027.php

Escribe un programa en PHP que escriba una tantas veces como letras tenga. La palabra se la proporcionará un formulario.

Ejer027.html

La palabra se la proporcionará un formulario. Ejer027.html Ejer027.php Acceder a los caracteres de un string

Ejer027.php

se la proporcionará un formulario. Ejer027.html Ejer027.php Acceder a los caracteres de un string Para acceder

Acceder a los caracteres de un string Para acceder a un carácter individual en una posición determinada (índice) de la cadena:

$character=$string[posición]; Por ejemplo:

$nombre=”Fernando”; echo ($nombre[0].<br/>);//Muestra ‘F’ echo ($nombre[1].<br/>);//Muestra ‘e’ echo ($nombre[2].<br/>);//Muestra ‘r’

ejer028.html y ejer028.php

Escribe un programa en PHP que escriba las letras de una palabra. La palabra se la proporcionará un formulario.

Ejer028.html

La palabra se la proporcionará un formulario. Ejer028.html Ejer028.php ejer029.html y ejer029.php Escribe un programa

Ejer028.php

se la proporcionará un formulario. Ejer028.html Ejer028.php ejer029.html y ejer029.php Escribe un programa en PHP que

ejer029.html y ejer029.php

Escribe un programa en PHP que escriba el número de vocales de una palabra. La palabra se la proporcionará un formulario.

Ejer029.html

Ejer029.php

el número de vocales de una palabra. La palabra se la proporcionará un formulario. Ejer029.html Ejer029.php
el número de vocales de una palabra. La palabra se la proporcionará un formulario. Ejer029.html Ejer029.php

PHP

PHP Búsqueda en cadenas strstr, strchr string strstr (string $pajar, string $aguja[, true/false]) string strchr (string
PHP Búsqueda en cadenas strstr, strchr string strstr (string $pajar, string $aguja[, true/false]) string strchr (string

Búsqueda en cadenas

strstr, strchr

string strstr(string $pajar, string $aguja[, true/false]) string strchr(string $pajar, string $aguja[, true/false])

string strchr (string $pajar, string $aguja[, true/false]) Devuelve parte de la cadena pajar desde la primera

Devuelve parte de la cadena pajar desde la primera aparición de la aguja hasta el final del pajar. La búsqueda diferencia entre mayúsculas y minúsculas. El tercer parámetro es opcional, si se pone true la función devolverá la parte de la cadena desde el principio hasta la aguja.

stristr strstr insensible a mayúsculas y minúsculas

strrchr string strstr(string $pajar, string $aguja) Encuentra la última aparición de un carácter en un string y devuelve la subcadena hasta el final.

strpos int strpos(string $pajar, string $aguja [, int $desplazamiento]) Devuelve la posición numérica de la primera ocurrencia de la cadena aguja en la cadena pajar o false si la cadena aguja no se encuentra.

El parámetro opcional desplazamiento permite especificar por que caracter en el pajar búsqueda. La posición devuelta sigue siendo relativa al inicio del pajar.

<?php

$mystring = 'abc';

$findme

$pos = strpos($mystring, $findme); // Nótese el uso de ===. Puesto que == simple no funcionará como se espera porque la posición de 'a' está en el 1° (primer) caracter. if ($pos === false) { echo "La cadena '$findme' no fue encontrada en la cadena '$mystring'"; } else { echo "La cadena '$findme' fue encontrada en la cadena '$mystring y existe en la posición $pos";

}

?>

se desea empezar la

= 'a';

strrpos int strrpos(string $pajar, string $aguja [, int $desplazamiento]) Devuelve la posición numérica de la última aparición de aguja en el string pajar o false si la cadena aguja no se encuentra. Si se especifica desplazamiento, la búsqueda parará en éste número de caracteres contados desde el comienzo del string. Si el valor es negativo, entonces la búsqueda iniciará desde esa cantidad de caracteres desde el final del string. <?php

echo strrpos("Hello wonderful world!","wo"); ?>

La salida del código de arriba será 16

strrpos( "Hello wonderful world!" , "wo" ); ?> La salida del código de arriba será 16
strrpos( "Hello wonderful world!" , "wo" ); ?> La salida del código de arriba será 16

PHP

PHP Ejer030.html <html> <head> <title> funciones de busqueda de cadenas </title>

Ejer030.html

PHP Ejer030.html <html> <head> <title> funciones de busqueda de cadenas </title>

<html> <head> <title>funciones de busqueda de cadenas</title> </head> <body> <form action="ejer030.php" method="post"> <p>Pajar: <input type="text" name="pajar" size="70" /></p> <p>Aguja: <input type="text" name="aguja" size="25" /></p> <p><input type="submit" name="boton" value="Enviar" /></p> </form> </body> </html>

Comparación de cadenas

Ejer030.php

</html> Comparación de cadenas Ejer030.php <html> <head><title>funciones de

<html> <head><title>funciones de cadenas</title></head> <body> <?php

$pajar=$_POST['pajar']; $aguja=$_POST['aguja']; $subcadena=strstr($pajar, $aguja); echo '$pajar='."\"$pajar\" <br/>"; echo '$aguja='."\"$aguja\" <br/>"; echo 'strstr($pajar, $aguja) devuelve --->'; echo "\"$subcadena\" <br/>"; $subcadena=strstr($pajar, $aguja, true); echo 'strstr($pajar, $aguja, true) devuelve --->'; echo "\"$subcadena\" <br/>"; $subcadena=stristr($pajar, $aguja); echo 'stristr($pajar, $aguja) devuelve --->'; echo "\"$subcadena\" <br/>"; $subcadena=strrchr($pajar, $aguja); echo 'strrchr($pajar, $aguja) devuelve --->'; echo "\"$subcadena\" <br/>"; $n=strpos($pajar, $aguja); echo 'strpos($pajar, $aguja) devuelve --->'; echo "$n "; if($n===false) echo "La aguja no está en el pajar "; if(is_bool($n)) echo("(El valor devuelto es boolean) <br/>"); elseif(is_int($n)) echo("El valor devuelto es entero <br/>"); echo 'strrpos($pajar, $aguja) devuelve --->'; echo strrpos($pajar,$aguja);

?>

</body>

</html>

strcmp Compara dos cadenas (es sensible a mayúsculas y minúsculas.); int strcmp ( string $str1 , string $str2 ) Devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2 y 0 si son iguales. strcasecmp Compara dos cadenas (NO es sensible a mayúsculas y minúsculas.); int strcmp ( string $str1 , string $str2 ) Devuelve < 0 si str1 es menor que str2; > 0 si str1 es mayor que str2 y 0 si son iguales.

ejer031.html y ejer031.php

El programa pide 2 cadenas por teclado y las muestra ordenas en orden creciente. En caso de ser iguales solamente muestra una cadena.

Ejer031.html

ordenas en orden creciente. En caso de ser iguales solamente muestra una cadena. Ejer031.html Ejer031.php Página

Ejer031.php

ordenas en orden creciente. En caso de ser iguales solamente muestra una cadena. Ejer031.html Ejer031.php Página
ordenas en orden creciente. En caso de ser iguales solamente muestra una cadena. Ejer031.html Ejer031.php Página
ordenas en orden creciente. En caso de ser iguales solamente muestra una cadena. Ejer031.html Ejer031.php Página

PHP

Operar con subcadenas

substr

PHP Operar con subcadenas substr Devuelve parte de una cadena. string substr ( string $string ,
PHP Operar con subcadenas substr Devuelve parte de una cadena. string substr ( string $string ,
PHP Operar con subcadenas substr Devuelve parte de una cadena. string substr ( string $string ,

Devuelve parte de una cadena. string substr ( string $string, int $start [, int $length ] )

string: la cadena de la que se quiere obtener la subcadena.

start: comienzo de la subcadena

 

o

Si start no es negativo, la cadena devuelta comenzará en el start de la posición del string empezando desde cero. Por ejemplo, en la cadena 'abcdef', el caracter en la posición 0 es 'a', el caracter en la posición 2 es 'c', y así sucesivamente.

o

Si start es negativo, la cadena devuelta empezará en start contando desde el final de string.

o

Si la longitud del string es menor o igual a start, la función devolverá FALSE.

Lengtn:longitud de subcadena

 

o

Si se especifica el length y es positivo, la cadena devuelta contendrá como máximo de caracteres de la cantidad dada por length que comienza en start .

o

Si se especifica length es negativo, entonces ese número de caracteres se omiten al final del string. Si start indica la posición de su truncamiento o más allá, se devolverá false.

o

Si se omite el length, la subcadena empezará por start hasta el final de la cadena donde será devuelta.

o

Si se especifica length y es 0, FALSE o NULL devolverá una cadena vacía.

<?php $rest = substr("abcdef", -1); // devuelve "f" $rest = substr("abcdef", -2); // devuelve "ef" $rest = substr("abcdef", -3, 1); // devuelve "d" ?>

ejer032.html y ejer032.php

Ejer032.html

"d" ?> ejer032.html y ejer032.php Ejer032.html ejer033.html y ejer033.php <?php $rest = substr (

ejer033.html y ejer033.php

<?php $rest = substr("abcdef", 0, -1); // devuelve "abcde" $rest = substr("abcdef", 2, -1); // devuelve "cde" $rest = substr("abcdef", 4, -4); // devuelve false $rest = substr("abcdef", -3, -1); // devuelve "de" ?>

Ejer032.php

, - 3 , - 1 ); // devuelve "de" ?> Ejer032.php Escribir un formulario HTML

Escribir un formulario HTML que pida el infinitivo de un verbo acabado en “ar” o en “er” y un script PHP que nos muestre el infinitivo, gerundio, participio y presente de indicativo del verbo.

Ejer033.html

nos muestre el infinitivo, gerundio, participio y presente de indicativo del verbo. Ejer033.html Ejer033.php Página 31

Ejer033.php

nos muestre el infinitivo, gerundio, participio y presente de indicativo del verbo. Ejer033.html Ejer033.php Página 31
nos muestre el infinitivo, gerundio, participio y presente de indicativo del verbo. Ejer033.html Ejer033.php Página 31
nos muestre el infinitivo, gerundio, participio y presente de indicativo del verbo. Ejer033.html Ejer033.php Página 31

PHP

str_replace

PHP str_replace mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count
PHP str_replace mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count
PHP str_replace mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count

mixed str_replace ( mixed $search , mixed $replace , mixed $subject [, int &$count ] )

Esta función devuelve un string o un array con todas las apariciones de search en subject reemplazadas con el valor dado de replace.

// Produce: <body text='black'> $bodytag = str_replace("%body%", "black", "<body text='%body%'>");

// Produce: 2 $str = str_replace("ll", "", "good golly miss molly!", $count); echo $count;

strtr

string strtr(string cadena, string carBuscados, string carReemplazo) Devuelve una copia de cadena donde todas las apariciones de cada caracter en carBuscados ha sido traducido al caracter correspondiente en carReemplazo. Si carBuscados y carReemplazo tienen distinta longitud, se ignoran los caracteres extra del string más largo. La longitud de cadena será la misma que la del valor devuelto.

substr_count

int substr_count ( string $pajar , string $aguja [, int $offset = 0 [, int $length ]] )

Devuelve el número de veces en que el substring aguja aparece en el string pajar (aguja es sensible a mayúsculas y minúsculas).

<?php $text = 'This is a test'; echo strlen($text); // 14 echo substr_count($text, 'is'); // 2 // el string es reducido a 's is a test', así que muestra 1 echo substr_count($text, 'is', 3); // el texto es reducido a 's i', así que muestra 0 echo substr_count($text, 'is', 3, 3); // genera una advertencia debido a que 5+10 > 14 echo substr_count($text, 'is', 5, 10); // muestra sólo 1, debido a que no cuenta substrings solapados. $text2 = 'gcdgcdgcd'; echo substr_count($text2, 'gcdgcd'); ?>

strpos

Busca la posición de la primera ocurrencia de una cadena

int strpos ( string $pajar , mixed $aguja [, int $offset = 0 ] )

Devuelve la posición numérica de la primera ocurrencia de la cadena aguja en el string pajar.

= 0 ] ) Devuelve la posición numérica de la primera ocurrencia de la cadena aguja
= 0 ] ) Devuelve la posición numérica de la primera ocurrencia de la cadena aguja

PHP

Eliminar espacios de una cadena

string chop(string cadena )

espacios de una cadena string chop( string cadena ) Devuelve cadena sin los espacios en blanco
espacios de una cadena string chop( string cadena ) Devuelve cadena sin los espacios en blanco
espacios de una cadena string chop( string cadena ) Devuelve cadena sin los espacios en blanco

Devuelve cadena sin los espacios en blanco y los caracteres de fin de línea que se encuentren al final del string.

string rtrim(string cadena )

Hace lo mismo que chop().

string ltrim(string cadena )

Devuelve la cadena sin los espacios en blanco que se encuentren al principio del string.

string trim(string cadena )

Devuelve cadena sin los espacios en blanco que se encuentren al principio y al final del string.

Conversión entre mayúsculas y minúsculas

string strtolower(string cadena )

Devuelve el string cadena de caracteres a minúsculas.

string strtoupper(string cadena )

Devuelve el string cadena de caracteres a mayúsculas.

Ejer034.html

) Devuelve el string cadena de caracteres a mayúsculas. Ejer034.html Ejer035.html Ejer034.php Ejer035.php Página 33

Ejer035.html

) Devuelve el string cadena de caracteres a mayúsculas. Ejer034.html Ejer035.html Ejer034.php Ejer035.php Página 33

Ejer034.php

) Devuelve el string cadena de caracteres a mayúsculas. Ejer034.html Ejer035.html Ejer034.php Ejer035.php Página 33

Ejer035.php

) Devuelve el string cadena de caracteres a mayúsculas. Ejer034.html Ejer035.html Ejer034.php Ejer035.php Página 33
) Devuelve el string cadena de caracteres a mayúsculas. Ejer034.html Ejer035.html Ejer034.php Ejer035.php Página 33
) Devuelve el string cadena de caracteres a mayúsculas. Ejer034.html Ejer035.html Ejer034.php Ejer035.php Página 33

PHP

PHP Listado de todas las funciones de strings  addcslashes — Escapa una cadena de la

Listado de todas las funciones de strings

addcslashes Escapa una cadena de la misma forma que lo hace C

addslashes Añade barras invertidas a una cadena

bin2hex Convierte datos binarios en su representación hexadecimal

chop Alias de rtrim

chr Devuelve un caracter específico

chunk_split Divide una cadena en trozos más pequeños

convert_cyr_string Convierte de un juego de caracteres cirílico a otro juego de caracteres cirílico

convert_uudecode Descodifica una cadena codificada mediante uuencode

convert_uuencode Codifica, mediante uuencode, una cadena

count_chars Devuelve información sobre los caracteres usados en una cadena

crc32 Calcula el polinomio crc32 de una cadena

crypt Hashing de una sola vía de un string

echo Muestra una o más cadenas

explode Divide una cadena en varias cadenas

fprintf Escribir una cadena con formato a una secuencia

get_html_translation_table Devuelve la tabla de traducción utilizada por htmlspecialchars y htmlentities

hebrev Convierte texto hebreo lógico a texto visual

hebrevc Convertir texto de hebreo lógico a texto visual con conversión de línea nueva

hex2bin Decodifica una cadena binaria codificada hexadecimalmente

html_entity_decode Convierte todas las entidades HTML a sus caracteres correspondientes

htmlentities Convierte todos los caracteres aplicables a entidades HTML

htmlspecialchars_decode Convierte entidades HTML especiales de nuevo en caracteres

htmlspecialchars Convierte caracteres especiales en entidades HTML

implode Une elementos de un array en una cadena

join Alias de implode

lcfirst Pasa a minúscula el primer caracter de un string

levenshtein Cálculo de la distancia Levenshtein entre dos strings

localeconv Obtener información sobre el formato numérico

ltrim Retira espacios en blanco (u otros caracteres) del inicio de un string

md5_file Calcula el resumen criptográfico md5 de un archivo dado

md5 Calcula el hash md5 de un string

metaphone Calcula la clave metaphone de un string

money_format Da formato a un número como un string de moneda

nl_langinfo Consulta información sobre el idioma y la configuración regional

nl2br Inserta saltos de línea HTML antes de todas las nuevas líneas de un string

number_format Formatear un número con los miles agrupados

ord devuelve el valor ASCII de una caracter

parse_str Interpreta el string en variables

print Mostrar una cadena

printf Imprimir una cadena con formato

quoted_printable_decode Convierte un string quoted-printable en un string de 8 bits

quoted_printable_encode Convierte un string de 8 bits en un string quoted-printable

quotemeta Escapa meta caracteres

rtrim Retira los espacios en blanco (u otros caracteres) del final de un string

setlocale Establecer la información de la configuración regional

sha1_file Calcula el hash sha1 de un archivo

sha1 Calcula el hash sha1 de un string

similar_text Calcula la similitud entre dos strings

soundex Calcula la clave soundex de un string

sprintf Devuelve un string formateado

sscanf Interpreta un string de entrada de acuerdo con un formato

str_getcsv Interpreta un string de CSV en un array

str_ireplace Versión insensible a mayúsculas y minúsculas de str_replace

str_pad Rellena un string hasta una longitud determinada con otro string

str_repeat Repite un string

str_replace Reemplaza todas las apariciones del string buscado con el string de reemplazo

str_rot13 Realizar la transformación rot13 sobre una cadena

str_shuffle Reordena aleatoriamente una cadena

str_split Convierte un string en un array

str_word_count Devuelve información sobre las palabras utilizadas en un string

strcasecmp Comparación de string segura a nivel binario e insensible a mayúsculas y minúsculas

strchr Alias de strstr

strcmp Comparación de string segura a nivel binario

minúsculas  strchr — Alias de strstr  strcmp — Comparación de string segura a nivel
minúsculas  strchr — Alias de strstr  strcmp — Comparación de string segura a nivel

PHP

PHP  strcoll — Comparación de cadenas basada en la localidad  strcspn — Encuentra la

strcoll Comparación de cadenas basada en la localidad

strcspn Encuentra la longitud del segmento inicial que no coincida con la máscara

strip_tags Retira las etiquetas HTML y PHP de un string

stripcslashes Desmarca la cadena marcada con addcslashes

stripos Encuentra la posición de la primera aparición de un substring insensible a mayúsculas y minúsculas en in string

stripslashes Quita las barras de un string con comillas escapadas

stristr strstr insensible a mayúsculas y minúsculas

strlen Obtiene la longitud de un string

strnatcasecmp Comparación de strings, insensible a mayúsculas y minúsculas, utilizando un algoritmo de "orden natural"

strnatcmp Comparación de strings utilizando un algoritmo de "orden natural"

strncasecmp Comparación de los primeros n caracteres de cadenas, segura con material binario e insensible a mayúsculas y minúsculas

strncmp Comparación segura a nivel binario de los primeros n caracteres entre strings

strpbrk Buscar una cadena por cualquiera de los elementos de un conjunto de caracteres

strpos Encuentra la posición de la primera ocurrencia de un substring en un string

strrchr Encuentra la última aparición de un caracter en un string

strrev Invierte una string

strripos Encuentra la posición de la última aparición de un substring insensible a mayúsculas y minúsculas en un string

strrpos Encuentra la posición de la última aparición de un substring en un string

strspn Encuentra la longitud del segmento inicial de un string que consista únicamente en caracteres contenidos dentro de una máscara dada.

strstr Encuentra la primera aparición de un string

strtok Tokeniza string

strtolower Convierte una cadena a minúsculas

strtoupper Convierte un string a mayúsculas

strtr Traduce ciertos caracteres o reemplaza substrings

substr_compare Comparación segura a nivel binario de dos o más cadenas desde un índice, hasta una longitud dada de caracteres

substr_count Cuenta el número de apariciones del substring

substr_replace Reemplaza el texto dentro de una porción de un string

substr Devuelve parte de una cadena

trim Elimina espacio en blanco (u otro tipo de caracteres) del inicio y el final de la cadena

ucfirst Convierte el primer caracter de una cadena a mayúsculas

ucwords Convierte a mayúsculas el primer caracter de cada palabra en una cadena

vfprintf Escribe un string con formato en un flujo

vprintf Muestra una cadena con formato

vsprintf Devuelve una cadena con formato

wordwrap Ajusta un string hasta un número dado de caracter

Hacer un formulario fecha1.html que pida una fecha y un script fecha1.php que valide esa fecha según se indica a continuación. Inicialmente no tendremos en cuenta que si el año es o no bisiesto, es decir el día es 29 de febrero es válido para todos los años.

fecha1.html

29 de febrero es válido para todos los años. fecha1.html Mejoras al programa anterior: fecha1.php 
29 de febrero es válido para todos los años. fecha1.html Mejoras al programa anterior: fecha1.php 
29 de febrero es válido para todos los años. fecha1.html Mejoras al programa anterior: fecha1.php 
29 de febrero es válido para todos los años. fecha1.html Mejoras al programa anterior: fecha1.php 

Mejoras al programa anterior:

fecha1.php

años. fecha1.html Mejoras al programa anterior: fecha1.php  Un año es bisiesto si es divisible entre
años. fecha1.html Mejoras al programa anterior: fecha1.php  Un año es bisiesto si es divisible entre
años. fecha1.html Mejoras al programa anterior: fecha1.php  Un año es bisiesto si es divisible entre
años. fecha1.html Mejoras al programa anterior: fecha1.php  Un año es bisiesto si es divisible entre

Un año es bisiesto si es divisible entre 4, a menos que sea divisible entre 100. Sin embargo, si un año es divisible entre 100 y además es divisible entre 400, también resulta bisiesto.

Cuando la fecha sea correcta la visualice en formato de los Estados Unidos mm/dd/aaaa

resulta bisiesto.  Cuando la fecha sea correcta la visualice en formato de los Estados Unidos
resulta bisiesto.  Cuando la fecha sea correcta la visualice en formato de los Estados Unidos

PHP

PHP 9. Arrays ¿Que es un array? Una variable es un contenedor que puede almacenar un

9. Arrays

¿Que es un array?

Una variable es un contenedor que puede almacenar un número o una cadena. El problema es que una variable sólo puede contener un valor.

Si tuviésemos que almacenar un lista de coches en variables tendríamos que hacer:

$coches1="Saab";

$coches2="Volvo";

$coches3="BMW";

¿Qué ocurriría si quisiéramos recorrer a lista para buscar un determinado coche?¿Y si la lista en lugar de tener 3 elementos tuviese 300?

Un array (o matriz, como también son llamados) es un tipo de variable, con la singularidad de que no contiene un único valor, sino un conjunto de valores referenciados con un índice.

Utilizando en el ejemplo anterior un array podríamos almacenar todos los valores utilizando un mismo nombre (por ejemplo $coches) y podríamos acceder a cada uno de los valores a través de un índice (por ejemplo $coches[0]). De esta forma se simplifican muchísimo los programas que tengan que utilizar estas colecciones de datos.

La sintaxis es muy parecida a la usada con el resto de variables, con diferencias en la forma en que el array es creado y lógicamente, la forma en que su valor es recuperado.

Creando arrays

La forma más sencilla es asignar el valor de cada elemento de manera explícita

$coches[0]="Saab";

$ coches[1]="Volvo";

$ coches[]="BMW";

$ coches[]="Toyota";

Cuando al generar un array no indicamos la posición de los elementos, estos se van situando secuencialmente sobre la última asignación realizada. En el ejemplo anterior “BMW” se almacena en el elemento de índice 2 y “Toyota” en el de índice 3.

La otra forma de crear arrays es usando el constructor array() con la siguiente sintaxis:

Nombre_Array array([index]=>[valor], [index2]=>[valor],

);

$coches=array("Saab","Volvo","BMW","Toyota");

En el ejemplo anterior podemos ver que, por defecto, los índices se asignan de modo secuencial comenzando por la posición 0.

El constructor array() también nos permite asignar los valores a los elementos que queramos del array. Por ejemplo:

$coches=array(2=>"Saab",0=>"Volvo",1=>"BMW",3=>"Toyota");

$coches=array(2=>"Saab",0=>"Volvo",1=>"BMW",3=>"Toyota"); Página 36
$coches=array(2=>"Saab",0=>"Volvo",1=>"BMW",3=>"Toyota"); Página 36

PHP

PHP ejer036.html y ejer036.php Una tienda online vende diez artículos que se identifican con un código

ejer036.html y ejer036.php

Una tienda online vende diez artículos que se identifican con un código de artículo que es un número del 1 al 10. Los precios unitarios sin IVA de los artículos son (ordenados por el código de artículo) los siguientes 1.5, 2, 1.75, 0.5, 3.25, 6, 10, 5, 3 y 4.5. El tipo de IVA será el 21%.

Se trata de hacer un formulario que pida el código de artículo y la cantidad a un cliente y un programa en PHP que le muestre el precio total sin IVA, el importe del IVA y el precio final.

Ejer036.html

sin IVA, el importe del IVA y el precio final. Ejer036.html Arrays asociativos Ejer036.php Como ya

Arrays asociativos

Ejer036.php

el precio final. Ejer036.html Arrays asociativos Ejer036.php Como ya sabemos, un array sencillo está formado por

Como ya sabemos, un array sencillo está formado por conjuntos de parejas índice => valor, o como suele expresarse en inglés, key, value. Hasta ahora hemos manejado un ejemplo con índices o keys numéricos (también conocidos como arrays escalares), pero también podemos usar strings como índices, es decir, cadenas de texto. Este tipo de array es el array asociativo:

<?php $agenda = array(

"Pedro"=>"983101010",

"Juan"=>"983202020",

"Ana"=>"983303030");

?>

ejer037.html y ejer037.php

Modificar el ejercicio anterior para que el usuario tenga que introducir el nombre del artículo en lugar del código. Los nombres de los artículos son los siguientes: m10, m20, m30, m40, m50, m60, n10, n20, n30, n40 y sus precios:

1.5, 2, 1.75, 0.5, 3.25, 6, 10, 5, 3 y 4.5.

Ejer037.html

1.5, 2, 1.75, 0.5, 3.25, 6, 10, 5, 3 y 4.5. Ejer037.html Recorrer un array Ejer037.php

Recorrer un array

Ejer037.php

10, 5, 3 y 4.5. Ejer037.html Recorrer un array Ejer037.php Una de las operaciones más habituales

Una de las operaciones más habituales con arrays es recorrer sus elementos para obtener sus valores ya sea para mostrarlos, modificarlos o trabajar con ellos.

es recorrer sus elementos para obtener sus valores ya sea para mostrarlos, modificarlos o trabajar con
es recorrer sus elementos para obtener sus valores ya sea para mostrarlos, modificarlos o trabajar con

PHP

PHP Para recorrer un array en PHP tenemos tres opciones. Cada una es apropiada para distintas

Para recorrer un array en PHP tenemos tres opciones. Cada una es apropiada para distintas situaciones.

1: Bucle For

Este bucle es apropiado para arrays con un índice numérico. Si no hemos definido índices a nuestro array, por defecto será numérico. Requiere tres parámetros, el primero es dónde empieza a contar, el segundo hasta cuándo, y el tercero las variaciones que va sufriendo la variable en cada iteración.

$vector = array(‘a’,‘b’,‘c’); $vector[] = ‘d’; $vector[] = ‘e’;

for($i=0;$i<count($vector);$i++)

echo "<p>El vector con indice $i tiene el valor $vector[$i] </p>";

Otra ventaja de este bucle es que podemos recorrerlo parcialmente, o ir saltando elementos. Por ejemplo, vamos a recorrer un array desde el elemento 3 hasta el 9, de dos en dos.

ejer036_2.php

Sustituir el archivo HTML ejer036.html por el programa PHP ejer036_2.php que muestra el contenido del array que contiene los precios utilizando el bucle for para recorrer el array.

Ejer036_2.php

el bucle for para recorrer el array. Ejer036_2.php 2: Bucle foreach Ejer036.php Este bucle es el

2: Bucle foreach

Ejer036.php

el array. Ejer036_2.php 2: Bucle foreach Ejer036.php Este bucle es el más indicado para arrays con

Este bucle es el más indicado para arrays con índices no numéricos, aúnque sirve también para recorrer fácilmente uno numérico. La ventaja es que da igual cuántos elementos tenga el array, o cómo sean; foreach los recorrerá sin problema.

$vector = array(‘uno’=>‘a’,‘dos’=>‘b’,‘tres’=>‘c’,‘cuatro’=>‘d’); foreach($vector as $c=>$v) echo "<p>El vector con indice $c tiene el valor $v </p>";

as $c=>$v) echo "<p>El vector con indice $c tiene el valor $v </p>"; Página 38
as $c=>$v) echo "<p>El vector con indice $c tiene el valor $v </p>"; Página 38

PHP

PHP ejer037_2.php Sustituir el archivo HTML ejer037.html por el programa PHP ejer037_2.php que muestra el contenido

ejer037_2.php

Sustituir el archivo HTML ejer037.html por el programa PHP ejer037_2.php que muestra el contenido del array que contiene los precios utilizando el bucle foreach para recorrer el array.

Ejer037_2.php

el bucle foreach para recorrer el array. Ejer037_2.php 3: Bucle While Ejer037.php Para recorrer un bucle

3: Bucle While

Ejer037.php

recorrer el array. Ejer037_2.php 3: Bucle While Ejer037.php Para recorrer un bucle con índices, podemos optar

Para recorrer un bucle con índices, podemos optar también por el bucle While. Pero tendremos que hacer uso de las funciones list y each.

$vector = array(‘uno’=>‘a’,‘dos’=>‘b’,‘tres’=>‘c’,‘cuatro’=>‘d’); while (list($clave, $valor) = each($vector)) echo "<p>El vector con indice $clave tiene el valor $valor </p>";

ejer037_3.php

Sustituir el archivo HTML ejer037.html por el programa PHP ejer037_3.php que muestra el contenido del array que contiene los precios utilizando el bucle while para recorrer el array.

Elije en cada ocasión la que más te convenga, pero ten siempre en mente todas las opciones.

el array. Elije en cada ocasión la que más te convenga, pero ten siempre en mente
el array. Elije en cada ocasión la que más te convenga, pero ten siempre en mente

PHP

PHP Listado de todas las funciones de arrays  arra y _chan g e_key_case — Cambia

Listado de todas las funciones de arrays

array_change_key_case Cambia todas las claves en un array

array_chunk Divide un array en fragmentos

array_combine Crea un nuevo array, usando una matriz para las claves y otra para sus valores

array_count_values Cuenta todos los valores de un array

array_diff_assoc Calcula la diferencia entre arrays con un chequeo adicional de índices

array_diff_key Calcula la diferencia entre arrays usando las keys para la comparación

array_diff_uassoc Calcula la diferencia entre arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada suministrada por el usuario

array_diff_ukey Calcula la diferencia entre arrays usando una función de devolución de llamada en las keys para comparación

array_diff Calcula la diferencia entre arrays

array_fill_keys Llena un array con valores, especificando las keys

array_fill Llena un array con valores

array_filter Filtra elementos de un array usando una función de devolución de llamada

array_flip Intercambia todas las keys con sus valores asociados en un array

array_intersect_assoc Calcula la intersección de arrays con un chequeo adicional de índices

array_intersect_key Calcula la intersección de arrays usando las keys para la comparación

array_intersect_uassoc Calcula la intersección de arrays con un chequeo adicional de índices que se realiza por una función de devolución de llamada

arra