HTMLpointHTMLpoint HTMLpoint.com


 Each, echo, ereg_replace, ereg...



  • each: devuelve el primer valor de un array utilizando las claves 0, 1, key y value; si el array es asociativo, se puede escribir:

    $array = array ("nombre" => "valor", "nombre2" => "valor2");
    while (list($key, $val) = each ($array)) {
    echo "$key => $val\n";
    }

    que devuelve:

    nombre => valor
    nombre2 => valor2


    Si, en cambio, el array no es asociativo, el código será:

    $array = array ("nombre", "valor", "nombre2", "valor2");
    while (list($key, $val) = each ($array)) {
    echo "$key => $val\n";
    }


    y el resultado:

    0 => nombre
    1 => valor
    2 => nombre2
    3 => valor2


    Seguramente os habéis fijado en que la función "each()" a menudo se utiliza junto a "list()", que veremos a continuación;

  • echo: visualiza una o más cadenas. No creo que haya mucho que comentar sobre esta función, en principio porque es muy simple y además porque ya la hemos analizado y hemos visto como funciona.

  • ereg_replace: devuelve una expresión regular con valores establecidos. En la función hay que incluir tres argumentos: el primero indica el texto que hay que sustituir, el segundo es el texto que se está utilizando y el tercero es la cadena que hay que modificar. Por ejemplo:

    $stringa = "Éste es un curso ASP";
    echo ereg_replace("ASP", "PHP", $cadena);


    Se hubiera podido escribir también:

    echo ereg:replace("ASP", "PHP", "Éste es un curso ASP");

    que, sin embargo, no tendría mucho sentido.

  • ereg: ejecuta el matching de una expresión regular. El ejemplo que se encuentra en la documentación es bastante claro:

    if (ereg("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
    echo "$regs[3].$regs[2].$regs[1]";
    } else {
    echo "Invalid date format: $date";
    }


    Todo el procedimiento se desarrolla para controlar que una fecha esté escrita en un formato correcto. Vamos a ver el significado de "[0-9]{4})-([0-9]{1,2})-([0-9]{1,2}". Para los que conocen las expresiones regulares, no será difícil traducirlo con "un número entre 0 y 9 que hay que repetir cuatro veces y que tiene que astar seguido de un '-', de un número entre 0 y 9 repetido una o dos veces, de un '-' y de un número entre 0 y 9 repetido una o dos veces".
    Muy a menudo es mucho más simple leer una expresión regular que traducirla al lenguaje hablado.

  • eregi_replace: funciona exáctamente como "ereg_replace()", solamente que, en este caso, la expresión regular se sustituye por una forma "case insensitive", es decir, pasando de los caracteres mayúsculas y minúsculas;

  • eregi: funciona exácatmente como "ereg()", solamente que en este caso la expresión regular se sustituye mediante una forma "case insensitive";

  • error_log: envía un mensaje de error al archivo de log del servidor, directamente a la puerta TCP de la que ha llegado la solicitud o a un archivo.
    La sintaxis es:

    error_log(message, mesage_type, destination);

    Message_type es un número que especifica donde tiene que llegar el mensaje Puede ser:

    0: el mensaje se envía al logger del PHP o al archivo especificado por "error_log";
    1: el mensaje se envía por email al parámetro (probablemente una dirección email válida) especificado en "destination"; 2: el mensaje se envía al depurador;
    3: el mensaje se introduce en append en el parámetro especificado en destination";

  • escapeshellcmd: si se invoca un mando exterior de una shell, con este mando se consigue que delante de los metacaracteres de la shell haya un carácter de escape para evitar que el mando produzca errores;

  • exec: ejecuta un programa externo;

  • exit: sale de un script; el mando "exit()" es útil cuando se quiere parar un script siempre que no se cumplan unas condiciones, por ejemplo:

    if (condición) {
    ejecutar el bloque;
    } else {
    exit;
    }


    Recordad que "exit()" no lleva un mensaje de error como "die()": si os interesa dar "explicaciones" sobre el porqué el script termina, hay que utilizar "die()", pero no es posible escribir:

    exit "Salir del programa\n";

    o mejor, es posible pero no tiene ningún efecto excepto el de salir;

  • exp: eleva "e" (2.71828.....) a la potencia que es el argumento de la función:

    echo exp(3);

    devolverá: 20.0855369...

  • explode: divide una cadena según un determinado pattern. Por ejemplo, si queremos dividir una cadena que incluye tres nombres separados por comas, podemos escribir:

    $nombres = "Fulano,Mengano y Zutano";
    list ($nombre1, $nombre2, $nombre3) = explode (",", $nombres);
    echo "$nombre1\n$nombre2\n$nombre3\n";


    que devolverá:

    Fulano
    Mengano
    Zutano


    Explode() es una versión simplificada de "split() que veremos sucesivamente. Las dos funciones, además, son muy útiles cuando tenemos la necesidad de leer unos archivos incluidos en los listados.


  •   Volver al inicio de la página