Espera por favor...

Lenguaje PHP
Introducción

PHP (acrónimo recursivo de PHP: Hypertext Preprocessor) es un lenguaje de código abierto muy popular especialmente adecuado para el desarrollo web y que puede ser insertado en HTML.

  • Lenguaje de alto nivel cuyo código se incorpora a páginas web HTML
  • Se ejecuta en el servidor o en un ordenador configurado como servidor
  • Una vez interpretado por el servidor, genera una salida HTML
  • Parecido en su sintaxis con lenguajes de programación estructurada, como C
  • Diseñado para la creación de páginas web dinámicas
  • Es un lenguaje de código abierto
  • Lo que distingue a PHP de JavaScript es que el código es ejecutado en el servidor, generando HTML
  • Muchas aplicaciones web están construidas con PHP. Ejs.: Wordpress, Joomla, Drupal, osCommerce, Prestashop, phpBB, SMF, Moodle, ...

Lenguaje PHP
Introducción

¿Qué necesito?

  • Un servidor con soporte activado para PHP
  • Ficheros con la extensión .php, que han de ser tratados por PHP
  • Es habitual tener instalada una base de datos como MySQL o análoga

Lenguaje PHP
Introducción

Esquema funcionamiento

Lenguaje PHP
Introducción

Historia

  • Creado en 1995. Denominado “Zend Engine”, (Zeev Suraski y Andi Gutmans)
  • 1998, versión 4. Programación orientada a objetos. Aumento velocidad
  • La versión 6 no pasó del borrador
  • PHP 7 es la versión actual. Presentada en diciembre 2015. Entre sus mejoras destacan:
    • Nueva versión de Zend Engine
    • Importante reducción del uso de memoria
    • Árbol sintáctico abstracto
    • Soporte consistente a los 64-bits
    • Un buen número de errores fatales convertidos en excepciones
    • Mejora en la jerarquía de estas excepciones
    • Generador de números aleatorio más seguro
    • Operador de coalescencia con null
    • Clases anónimas
    • Compatibilidad con la última versión de OpenSSL (1.0.2e)


    En el sitio TutorialPHP.net (http://tutorialphp.net/) se pueden ver las novedades de esta versión.

    En Dev Education hay un curso de PHP en 10 vídeos.

Lenguaje PHP
Introducción

Primera página con PHP

    Escribir un fichero llamado hola.php y llevarlo al directorio raíz del servidor web

    <html>
    <head>
    <title>Prueba de PHP</title>
    </head>
    <body>
    <?php echo '<p>Hola desde la UMU</p>'; ?>
    </body>
    </html>


    Para ejecutarlo llamar desde el navegador a hola.php en el dominio correspondiente

    Si se ha instalado en local, cargar con: http://localhost/hola.php o http://127.0.0.1/hola.php

Lenguaje PHP
Introducción

Primera página con PHP

    El archivo es analizado por el intérprete PHP

    Código que devuelve:

    <html>
     <head>  <title>Prueba de PHP</title>  </head>
     <body>
     <p>Hola desde la UMU</p>
     </body>
    </html>
    

    Formato de las etiquetas especiales de PHP: <?php para indicar el inicio de una etiqueta de PHP, etiqueta de cierre ?>

    Lista de editores PHP, en Wikipedia: https://en.wikipedia.org/wiki/List_of_PHP_editors

Lenguaje PHP
Introducción

Algo útil

    ¿Qué tipo de navegador está utilizando el usuario visitante?

    Identificar el string del agente de usuario que el navegador envía como parte de la petición HTTP

    $_SERVER es una variable especial reservada por PHP que contiene toda la información del servidor web

    <?php
    echo $_SERVER['HTTP_USER_AGENT'];
    ?>


    Resultando, por ejemplo:

    Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Lenguaje PHP
Introducción

    Algo útil

    <?php
    if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE) {
    echo 'Estás usando el peor navegador, Internet Explorer.<br />';
    } ?>


    Resultando para un usuario de Internet Explorer:
    Estás usando el peor navegador, Internet Explorer.

Lenguaje PHP
Introducción

Algo útil

<?php
if (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== FALSE ||
strpos($_SERVER['HTTP_USER_AGENT'], 'Edge') !== FALSE) {
?>
<h3>strpos() debe haber devuelto no falso</h3>
<p>Estás usando el peor navegador, Internet Explorer</p>
<?php
} else {
?>
<h3>strpos() debe haber devuelto falso</h3>
<p>Enhorabuena, no usas un producto Microsoft</p>
<?php
}
?>


Este ejemplo mezcla los modos HTML y PHP. En vez de usar una sentencia echo de PHP para mostrar algo, se sale del modo PHP y se envía solamente HTML

Lenguaje PHP
Introducción

Comentarios en PHP

Como en todos los lenguajes de programación y de marcado existen los comentarios


Sintaxis:

  • Doble barra //
  • Barra y asterisco para apertura y asterisco y barra para cierre /* */

Lenguaje PHP
Variables

    Las variables se representan con un signo de dólar ($) seguido por el nombre, que es sensible a minúsculas y mayúsculas

    Un nombre de variable válido tiene que empezar con una letra o con un carácter de subrayado, seguido de letras, números y caracteres de subrayado, sin espacios
      El operador de asignación es: =
      El operador comparador de igualdad es: ==

Lenguaje PHP
Variables

    Ejemplo de variables:

    <html>
    <head>
    <title>Tipos de variables en PHP</title>
    </head>
    <body>
    <?php
    $a = 137;
    $b = "9.99";
    $c = "ejemplo variables PHP";
    // impresión
    echo $a."<br>".$b."<br>".$c;
    ?>
    </body>
    </html>
    )

Lenguaje PHP
Variables

Variables reservadas son las que PHP define con valores por defecto, están disponibles sin necesidad de requerir librerías y no se puede cambiar su contenido:

  • $_SERVER: Información del entorno del servidor y de ejecución
  • $_GET: Variables en el encabezado HTTP GET
  • $_POST: Variables recibidas en el encabezado HTTP GET
  • $_COOKIE: Variable con la cual podemos crear, acceder, editar o destruir cookies
  • $_FILES: Variables que llegan al servidor con archivos mediante carga
  • $_REQUEST: Es una variable de array asociativo que por defecto contiene el contenido de $_GET, $_POST y $_COOKIE
  • $_SESSION: Variables de sesión

Lenguaje PHP
Variables

Tipos de datos

En PHP no es obligatorio indicar el tipo de datos al que pertenece una variable. Existen los siguientes tipos:

  • integer: enteros positivos, negativos (se pueden representar en hexadecimal)
  • float, double: con decimales
  • string: cadena de caracteres
  • boolean: tipo lógico, valores true o false

Lenguaje PHP
Instrucciones

    Instrucción echo

    Inserta texto dentro del documento HTML subyacente al código PHP

    echo no es una instrucción para mostrar algo por pantalla

    Ejemplo:

    <?php
    echo "salida en pantalla. ";
    $a = 9;
    echo $a; echo " El valor de a es $a.";
    ?>


    Mostraría: salida en pantalla. 9 El valor de a es 9

Lenguaje PHP
Instrucciones

Instrucción printf

La instrucción printf ofrece más posibilidades que echo

Sintaxis:

<?php
printf(cadena formato, variable1, variable2, etc.);
?>


Donde se permiten las siguientes posibilidades para el formato en los casos más habituales:

  • %s: Cadena de caracteres
  • %d: Número sin decimales
  • %f: Número con decimales
  • %c: Carácter ASCII

Lenguaje PHP
Instrucciones

Instrucción printf

Se muestra un ejemplo que incluye todas las posibilidades de printf:

    
    %b = 111010110111100110100010101 
    %c = 2
    %d = 123456789
    %d = -123456789
    %e = 1.234568e+8
    %E = 1.234568E+8
    %u = 123456789
    %u = 18446744073586094827
    %f = 123456789.000000
    %F = 123456789.000000
    %g = 1.23457e+8
    %G = 1.23457E+8
    %o = 726746425
    %s = 123456789
    %x = 75bcd15
    %X = 75BCD15
    %+d = +123456789
    %+d = -123456789

    Obteniéndose:

    %b = 111010110111100110100010101
    %c = 2
    %d = 123456789
    %d = -123456789
    %e = 1.234568e+8
    %E = 1.234568E+8
    %u = 123456789
    %u = 4171510507
    %f = 123456789.000000
    %F = 123456789.000000
    %g = 1.23457e+8
    %G = 1.23457E+8
    %o = 726746425
    %s = 123456789
    %x = 75bcd15
    %X = 75BCD15
    %+d = +123456789
    %+d = -123456789

Lenguaje PHP
Instrucciones

Ejemplo de printf:

    <html>
    <head>
    <title>Ejemplo de printf en PHP</title>
    </head>
    <body>
    <?php
    $var = "texto"; $num = 3;
    printf("Puede fácilmente intercalar <b>%s</b> con números <b>%d</b> <br>",$var,$num);
    printf("<table border=1 cellpadding=10>");
    for ($i=0; $i<10; $i++)
    {
    printf("<tr><td>%10.d</td></tr>",$i);
    }
    printf("</table>");
    ?>
    </body>
    </html>

Lenguaje PHP
Operadores

    Operadores aritméticos

    Ejemplo Nombre Resultado
    -$a Negación Opuesto de $a
    $a + $b Adición Suma de $a y $b
    $a - $b Sustracción Diferencia de $a y $b
    $a * $b Multiplicación Producto de $a y $b
    $a / $b División Cociente de $a y $b
    $a % $b Módulo Resto de $a dividido por $b
    $a ** $b Exponenciación Eleva $a a la potencia b

Lenguaje PHP
Operadores

    Operadores de comparación

    Operador
    Nombre
    Ejemplo
    Resultado
    = =
    Igualdad
    $a = = $b
    Cierto si $a es igual a $b
    = = =
    Identidad
    (a partir de PHP4)
    $a= = =$b
    Cierto si $a es igual a $b y si además son del mismo tipo
    !=
    Desigualdad
    $a != $b
    Cierto si $a no es igual a $b
    <
    Menor que
    $a < $b
    Cierto si $a es estrictamente menor que $b
    >
    Mayor que
    $a > $b
    Cierto si $a es estrictamente mayor que $b
    <=
    Menor o igual que
    $a <= $b
    Cierto si $a es menor o igual que $b
    >=
    Mayor o igual que
    $a >= $b
    Cierto si $a mayor o igual que $b

Lenguaje PHP
Operadores

    Operadores de incremento y decremento

    Operador
    Nombre
    Efecto
    $a++
    Postincremento
    Devuelve el valor de $a y luego lo incrementa en uno
    ++$a
    Preincremento
    Incrementa en uno $a y luego devuelve el valor de $a ya incrementado
    $b--
    Postdecremento
    Devuelve el valor de $b y luego lo decrementa en uno
    --$b
    Predecremento
    Decrementa en uno $b y luego devuelve el valor de $b ya decrementado

Lenguaje PHP
Operadores

    Operadores lógicos

    Ejemplo
    Nombre
    Resultado
    $a and $b
    Y
    Cierto solo si $a y $b son ciertos
    $a or $b
    O
    Cierto si $a o $b o ambos son ciertos
    $a xor $b
    O exclusiva
    Cierto si $a o $b son ciertos, pero no si ambos son ciertos a la vez
    !$a
    Negación
    Cierto si $a no es cierto
    $a&&$b
    Y
    Cierto solo si $a y $b son ciertos
    $a||$b
    O
    Cierto si $a o $b o ambos son ciertos

Lenguaje PHP
Operadores

Operador de concatenación

    Se usa para unir diferentes valores (cadenas o números) con cadenas de caracteres, se representa por un punto (.)

    Ejemplo:

    <?php
    echo 'Mi color preferido es el ' . 'rojo';
    // el resultado es: Mi color preferido es el rojo
    $bebida = "leche";
    // se puede usar para unir variables con textos
    echo 'Mi bebida preferida es ' . $bebida;
    // el resultado es: Mi bebida preferida es leche
    $numero = 137;
    echo "Me gusta el numero " . $numero;
    // el resultado es -> Me gusta el numero 137
    ?>

Lenguaje PHP
Variables

    Orden de precedencia de operadores

Lenguaje PHP
Estructuras condicionales

    if ... else

    if(expresión) {
    ... sentencias 1, 2, 3 … ;
    } else {
    ... sentencias A, B, C …;
    }


    Ejemplo:

    <?php
    $claseDAWeb = true;
    if($claseDAWeb == true) {
    echo 'Hay clase';
    } else {
    echo 'Es fiesta';
    }
    ?>

Lenguaje PHP
Estructuras condicionales

    if ... else if ... else

    if(expresión) {
    ... sentencias 1, 2, 3, …;
    } else if(expresión) {
    ... sentencias A, B, C, …;
    } else {
    ... sentencias M, N, O, …;
    }


    Ejemplo:

    <?php
    $test = 33;
    if ($test < 40) {
    echo "Sí, $test es mayor que 40.";
    } else if ($test < 35) {
    echo "Sí, $test es mayor que 35.";
    } else if ($test < 30) {
    echo "Sí, $test es mayor que 30.";
    } else {
    echo "No, $test es menor que 40, 35 y 30.";
    }
    ?>

Lenguaje PHP
Estructuras condicionales

    switch

    Alternativa a if...else if...else if

    switch (expresión) {
    case valor1:
    instrucciones;
    break;
    case valor2:
    instrucciones;
    break;
    .
    .
    default:
    sentencias;
    break;
    }


    Ejemplo:

    Se imprimen en pantalla los días que tiene el mes, de la variable $mes

    <?php
    $mes = 10;
    switch ($mes) {
    case 2:
    echo 'El mes introducido tiene 29 días';
    case 1:
    case 4:
    case 6:
    case 9:
    case 11:
    echo 'El mes introducido tiene 30 días'; break;
    case 3:
    case 5:
    case 7:
    case 8:
    case 10:
    case 12:
    echo 'El mes introducido tiene 31 días'; break;
    default:
    echo 'El mes introducido no es válido';
    }
    ?>

Lenguaje PHP
Estructuras repetitivas o bucles

    while

    <?php
    while (condición) {
    ... sentencias;
    }
    ?>

Lenguaje PHP
Estructuras repetitivas o bucles

    do ... while

    <?php
    do {
    …sentencias
    } while(condición);
    ?>

Lenguaje PHP
Estructuras repetitivas o bucles

    for

    <?php
    for ($variable=valor_inicial; condición; incremento) {
    ... sentencias;
    }
    ?>

Lenguaje PHP
Funciones

Las funciones son componentes del código que pueden ser llamados desde un script para realizar una tarea

Se les pueden pasar argumentos o parámetros caso de ser necesario

Retornan algún valor al final de la ejecución

En PHP existen dos tipos de funciones:

    - Las que incorpora por defecto
    - Las que el programador crea en según sus necesidades

Lenguaje PHP
Funciones

    ¿Cómo escribir una función en PHP?

    - El primer paso es ponerle un nombre con el cual se pueda hacer referencia

    - Las convenciones para los nombres son las mismas que para las variables

    - Debe empezar con una letra o con un guión bajo (_), sin espacios o signos de puntuación

    - El nombre no debe ser el mismo que el de alguna función nativa de PHP

    - Se crean usando la palabra clave function seguida por el nombre y un par de paréntesis

    - El código que ejecutará se encierra entre llaves.

    Ejemplo:

    <?php
    function imprimirHola()
    {echo "Hola";}
    ?>

Lenguaje PHP
Funciones

    Manejo de funciones en PHP

    Retorno del valor en una función, return. Ejemplo:

    <?php
    function retornaNumero()
    {
    return 137;
    }
    ?>

Lenguaje PHP
Funciones

    Manejo de funciones en PHP

    - Los parámetros o argumentos pueden ser pasados a una función sin limitación

    - Se sitúan dentro de los paréntesis que van después del nombre

    - Se escriben como si fueran variables y se deben separar con comas

    Ejemplo:

    <?php
    function sumaNumeros ($param1, $param2)
    {
    return $param1 + $param2;
    // Se reciben dos parámetros para obtener la suma
    }
    ?>

Lenguaje PHP
Funciones

    Manejo de funciones en PHP

    - Las funciones se llaman usando el nombre con el cual se declararon

    - Añadiendo los valores que se pasen como parámetros si es que son necesarios

    Ejemplo:

    <?php
    function sumaNumeros ($param1, $param2)
    {
    return $param1 + $param2;
    }
    echo sumaNumeros(10 , 20);
    // llamada a la función pasando como parámetros 10 y 20
    ?>

Lenguaje PHP
Funciones

    Manejo de funciones en PHP

    Parámetros por referencia

    En el ejemplo anterior se pasan dos constantes a la función. Si se hubieran pasado dos variables y dentro de las función hubieran sido modificadas, cuando la función terminara las variables seguirían teniendo el mismo valor con el que entraron a la función.

    Ejemplo:

    <?php
    function sumarNumeros ($parametro1, $parametro2)
    {
    $parametro1 += 10;
    $parametro2 += 10;
    return $parametro1 + $parametro2;
    }
    $param1 = 10; $param2 = 20;
    echo "Antes param1 = ".$param1.", param2 = ".$param1." ";
    sumarNumeros ($param1, $param2);
    echo "Después param1 = ".$param1.", param2 = ".$param1." ";
    // La salida será:
    // Antes param1 = 10, param2 = 20, después param1 = 10, param2 = 20
    ?>


    Acceso al ejemplo

Lenguaje PHP
Funciones

    Manejo de funciones en PHP

    Parámetros por referencia

    Si se desea que la función pueda modificar los valores de las variables que se le pasan como parámetros hay que pasarlas por referencia. Para especificarlo hay que anteponer ampersand (&) al nombre de la variable en la declaración de la función. Ejemplo:

    <?php
    function sumaNumeros (&$parametro1, &$parametro2)
    {
    $parametro1 += 10;
    $parametro2 += 10;
    return $parametro1 + $parametro2;
    }
    $param1 = 10; $param2 = 20;
    echo "Antes param1 = ".$param1.", param2 = ".$param1."
    "; sumaNumeros ($param1, $param2);
    echo "Después param1 = ".$param1.", param2 = ".$param1."
    "; // La salida: Pasando las variables por referencia,la variable se modifica desde dentro de la función
    // Antes param1 = 10, param2 = 20, después param1 = 20, param2 = 30
    ?>

Lenguaje PHP
Funciones

    Manejo de funciones en PHP

    Ámbito de Variables

    Cuando una variable se declara fuera de la función, su alcance es global, y es accesible desde cualquier parte del script que se esté usando

    Cuando una variable es declarada dentro de una función entonces tiene alcance local, y solo se puede utilizar dentro de la función en la que se declaró. Ejemplo

    <?php
    function mostrarCadena()
    {
    $cadena = "Cadena local";
    echo "Cadena 2 = ".$cadena."
    ";
    }
    $cadena = "Cadena global";
    echo "Cadena 1 = ".$cadena."
    ";
    mostrarCadena();
    // el resultado de este script será:
    // Cadena 1 = Cadena global, Cadena 2 = Cadena local
    ?>
    Conflicto de nombres

    PHP proporciona la variable $GLOBALS, es un array que contiene todas las variables globales. Por lo tanto si se precisa acceder a una variable global en una función, pero ya tiene una variable con ese nombre, entonces se accede con $GLOBALS.

    Ejemplo:

    <?php
    function mostrarCadena ()
    {
    $cadena = "Cadena local";
    echo "Cadena 2 = ".$cadena."
    ";
    echo "Cadena 1 GLOBAL = ".$GLOBALS['cadena']."
    ";
    }
    $cadena = "Cadena global";
    echo "Cadena 1 = ".$cadena."
    ";
    mostrarCadena();
    // el resultado de este script será el siguiente
    // Cadena 1 = Cadena global
    // Cadena 2 = Cadena local
    // Cadena 1 GLOBAL = Cadena global
    ?>

Lenguaje PHP
Variables

Array

- Es un tipo de variable que permite agrupar diferentes elementos y manejarlos como si fueran una sola variable

- Es una lista de variables

- Una vez creado, se pueden agregar, editar eliminar sus elementos

- Los elementos pueden ser de cualquier tipo y se pueden mezclar

- Hay dos tipos de arrays en PHP, los numéricos y los asociativos:

  • Los numéricos son a los que se accede con números a los datos, desde el 0
  • Los asociativos poseen un nombre sobre cada dato, con el que se accede al dato

Lenguaje PHP
Variables

    Creación de array

    Se emplea la función array()

    <?php
    $vector1 = array();
    // creación de array vacío
    $vector2 = array('php', 'python', 'ruby', 'javaScript');
    // creación de array con parámetros.
    // Los parámetros serán los primeros datos del array.
    ?>

Lenguaje PHP
Variables

    Acceso a un elemento de array

    Se debe especificar el índice del elemento deseado, mediante el nombre del array seguido del índice del elemento entre corchetes [ ]

    Ejemplo:

    <?php
    $vector = array('php', 'python', 'ruby', 'javaScript');
    echo $vector[1];
    // Esto devolverá el valor python, que está en la posición 1
    ?>

Lenguaje PHP
Variables

    Creación de array asociativo

    Asigna nombres a cada posición o dato del array. Es una forma amigable de acceder a los elementos del array

    Para crearlo se utiliza la función array(), y los datos tendrán la forma de $clave => $valor.

    Ejemplo:

    <?php
    $persona = array('nombre'=>'Hipatia', 'apellido'=>'Pi', 'direccion'=>'calle ciencia', 'nacionalidad'=>'egipcia');
    ?>

Lenguaje PHP
Variables

    Acceso a un elemento del array asociativo

    Para acceder a cualquier valor se ha de hacer con el nombre de la clave, se pone el nombre de la variable y entre corchetes el nombre de la clave.

    Ejemplo:

    <?php
    $persona = array('nombre'=>'Hipatia', 'apellido'=>'Pi', 'direccion'=>'calle ciencia', 'nacionalidad'=>'egipcia');
    echo $persona['apellido'];
    // esto nos devolverá Pi
    ?>

Lenguaje PHP
Variables

    Array multidimensional

    Un array multidimensional puede ser como una tabla, en donde cada valor del array padre son las filas y cada array interno son las columnas de cada fila.

    Ejemplo:

    <?php
    $libros = array();
    $libros[0] = array('titulo'=>'El mundo y sus demonios', 'autor'=>'Carl Sagan');
    $libros[1] = array('titulo'=>'Comer Sin Miedo', 'autor'=>'J. M. Mulet');
    ?>

Lenguaje PHP
Funciones

    Acceso a elementos de un array multidimensional

    Primero se coloca la fila dentro de corchetes y luego la columna dentro de corchetes.

    Ejemplo:

    <?php
    $libros = array();
    $libros[0] = array('titulo'=>'El mundo y sus demonios', 'autor'=>'Carl Sagan');
    $libros[1] = array('titulo'=>'Comer Sin Miedo', 'autor'=>'J. M. Mulet');
    echo $libros[1]['autor'];
    // devuelve el valor J. M. Mulet, ya que se especifica la fila numero 1 y la columna autor
    ?>

Lenguaje PHP
Funciones

    Editar, agregar y borrar elementos de un array

    Un elemento puede ser editado con el operador de asignación especificando la posición.

    Ejemplo:

    <?php
    $figuras = array('cuadrado', 'triángulo', 'circulo');
    $figuras[1] = 'rectángulo';
    ?>


    Para agregar un elemento al final de un array se utiliza la función array_push().

    Ejemplo:

    <?php
    $figuras = array('cuadrado', 'triángulo', 'circulo');
    array_push($figuras, 'pentágono');
    // quedando ('cuadrado', 'triángulo', 'circulo', 'pentágono')
    ?>

Lenguaje PHP
Funciones

    Editar, agregar y borrar elementos de un array

    Para insertar al principio del array se emplea la función array_unshift().

    Ejemplo:

    <?php
    $figuras = array('cuadrado', 'triángulo', 'circulo');
    array_unshift($figuras ,'pentágono');
    // resultando ('pentágono', 'cuadrado', 'triángulo', 'circulo')
    ?>


    Se pueden eliminar el primero y el último de los valores del array con las funciones array_pop() y array_shift() respectivamente. Ejemplo:

    <?php
    $posiciones = array('Primera', 'Segunda', 'Tercera', 'Ultima');
    array_pop($posiciones);
    // el array queda así array('Primera', 'Segunda', 'Tercera')
    array_shift($posiciones);
    // el array queda así array('Segunda', 'Tercera')
    ?>

Lenguaje PHP
Funciones

    Editar, agregar y borrar elementos de un array

    Recorrer arrays

    Se pueden recorrer todos los elementos de un array para leerlos o editarlos

    El bucle foreach() funciona como un while o un for, para los array

    Hay dos formas de uso:

    Asignar el valor actual del array a una variable que se puede acceder solo dentro del bucle, foreach( $array as $elemento). Ejemplo:

    <?php
    $colores = array('rojo', 'amarillo', 'azul');
    foreach( $colores as $color){
    echo 'Color actual '. $color ;
    }
    // Esto imprimirá lo siguiente
    // Color actual rojo
    // Color actual amarillo
    // Color actual azul
    ?>

Lenguaje PHP
Funciones

    Editar, agregar y borrar elementos de un array

    La segunda forma es para los arrays asociativos, permite obtener en una variable el valor actual y en otra la clave del valor, foreach ($array as $clave => $elemento). Ejemplo

    <?php
    $persona = array('nombre'=>'Hipatia', 'apellido'=>'Pi', 'direccion'=>'calle ciencia', 'nacionalidad'=>'egipcia'); foreach($persona as $clave => $elemento){
    echo 'Clave - '. $clave;
    echo 'Elemento - '. $elemento;
    }
    // Esto imprimirá lo siguiente
    // Clave - nombre
    // Elemento - Hipatia
    // Clave - apellido
    // Elemento - Pi
    // Clave - dirección
    // Elemento - calle ciencia
    // Clave - nacionalidad
    // Elemento - griega
    ?>

Lenguaje PHP
Funciones

    Editar, agregar y borrar elementos de un array

    Ejemplo de lectura de elementos de un array, mediante for

    <?php
    //Ejemplo arrays
    $array[0] = "Uno";
    $array[1] = "Dos";
    $array[2] = "Tres";
    $array[3] = "Cuatro";
    $array[4] = "Cinco";
    $array[5] = "Seis";
    $array[6] = "Siete";
    $array[7] = "Ocho";
    for($i=0;$i<count($array);$i++) {
    echo $array[$i].'<br />';
    }
    ?>

Lenguaje PHP
Funciones

    Otras funciones para arrays

  • sort(): Sirve para ordenar un array no asociativo, recibe dos parámetros. El primero es el array que se va a modificar y el segundo es el tipo de algoritmo que se el va aplicar (SORT_NUMERIC, SORT_STRING, SORT_REGULAR, estos son los más utilizados)
  • ksort(): Es lo mismo que sort pero funciona para ordenar arrays asociativos por la clave
  • asort(): Es lo mismo que sort pero funciona para ordenar arrays asociativos por el valor
  • print_r(): Imprime todos los elementos del array que recibe como parámetro
  • in_array(): Busca un valor(primer parámetro) en un array (segundo parametro) y devuelve True si lo consigue o False si no
  • array_keys(): Recibe como parámetro un array asociativo y retorna un array solo con las claves
  • array_search(): Busca un valor (primer parámetro) en un array (segundo parámetro) y devuelve la posición si lo consigue

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    strlen: obtiene la longitud de una cadena y devuelve un número entero

    <?php
    $cade = "cadena1";
    $n = strlen($cade);
    echo "La longitud de cadena1 es: $n";
    ?>

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    substr: devuelve una subcadena de la cadena original

    <?php
    $cade = "cadena";
    $sub1 = substr($cade, 2); //La numeración empieza en 0
    $sub2 = substr($cade, 2, 2);
    echo "La subcadena número uno es la siguiente: $sub1";
    echo "La subcadena número dos es la siguiente: $sub2";
    ?>

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    str_replace: reemplaza caracteres en una cadena

    Ejemplo:

    <?php
    //Ejemplo reemplaza en cadena
    $texto = "Donde dije digo digo Diego.";
    echo str_replace("Diego", "recortes", $texto);
    echo "<br />";
    echo $texto;
    ?>

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    strtolower y strtoupper

    Transforman una cadena de caracteres en la misma cadena en minúsculas o mayúsculas respectivamente

    Ejemplo:

    <?php
    //Ejemplo funciones básicas
    $cadena = "EstO eS UnA cadeNA de CARActeres";
    echo strtolower($cadena);
    echo "<br />";
    echo strtoupper($cadena);
    ?>

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    count_chars

    Sirve para contar el número de apariciones de un carácter en una cadena

    Sintaxis: count_chars ($cadena, $opcModo)

    $opcModo es opcional. Si no se especifica vale 0 por defecto. Valores permitidos:

    - 0: devolverá un array con el valor numérico ascii como índice y la frecuencia de cada carácter ascii como valor

    - 1: devolverá un array con el valor numérico ascii como índice y la frecuencia de cada carácter que aparezca al menos una vez como valor

    - 2: devolverá un array de caracteres que no aparecen en la cadena, con el valor numérico ascii como índice y la frecuencia de cada carácter ascii que no aparece como valor

    - 3: devuelve una cadena que contiene todos los caracteres únicos

    - 4: devuelve una cadena que contiene todos los caracteres no utilizados

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    Ejemplo:

    <?php
    //Ejemplo count_chars
    $cadena = 'es viernes';
    $miArray = count_chars ( $cadena, 1);
    foreach ($miArray as $indiceNum => $veces) {
    echo 'Letra: '.chr($indiceNum).' , encontrada '. $veces.' veces
    ';
    }
    ?>

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    substr_count($cadena, $subcadena)

    Devuelve el número de veces que aparece la subcadena dentro de la cadena

    Ejemplo:

    <?php
    //Ejemplo subcadena
    $cadena1 = 'Pedro Juan Rita María Luis Pedro Juan Rita Pedro';
    $cadena2 = 'Rita';
    echo 'Rita aparece '.substr_count($cadena1, $cadena2). ' veces'
    ?>

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    strcmp

    Realiza la comparación de cadenas y devuelve un valor numérico

    Sintaxis:

    if (strcmp ($cadena1 , $cadena2 ) == 0) { … }

    Devuelve un valor numérico que puede ser:

    - 0: cuando ambas cadenas son iguales. En caso contrario el valor devuelto es distinto de cero, por lo que si queremos saber si dos cadenas son distintas podemos usar if (strcmp ($cadena1 , $cadena2) !== 0) { … }

    - Un valor numérico menor que 0 si la cadena 1 es menor que la cadena 2

    - Un valor numérico mayor que cero si la cadena 2 es mayor que la cadena 1

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    Ejemplo strcmp:

    <?php
    $var1 = "DAWEB";
    $var2 = "DAWeb";
    if (strcmp($var1, $var2) !== 0) {
    echo '$var1 no es igual a $var2 en una comparación que considera mayúsculas y minúsculas';
    }
    ?>

Lenguaje PHP
Funciones

    Funciones con cadenas de caracteres

    str_pad

    Realiza un relleno de cadenas ampliando la cadena hasta una longitud especificada y rellenándola con el carácter o caracteres especificados

    Sintaxis: str_pad (string $cadena, int $nuevaLongitud $opcCarRelleno, opcTipoDeRelleno)

    opcCarRelleno es opcional e indica el carácter o caracteres de relleno que se emplearán. Si no se especifica, se tomará el espacio en blanco como carácter de relleno

    opcTipoDeRelleno es opcional e indica cómo se rellenará hasta alcanzar la nueva longitud: por la derecha, por la izquierda o por ambos lados. Los valores que puede tomar son: STR_PAD_RIGHT, STR_PAD_LEFT, o STR_PAD_BOTH. Si no se especifica por defecto se rellenará usando STR_PAD_RIGHT

Búsquedas en UMU