Autor Tema: [TUTORIAL] Each , ereg_replace , eregi_replace ect...  (Leído 555 veces)

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
[TUTORIAL] Each , ereg_replace , eregi_replace ect...
« en: 03 de Noviembre de 2009, 16:54:08 pm »
Hola pues aqui hoy les enseño un nuevo tutorial para que tus conocimientos aumenten. Te traigo las funciones que indican el thread y algunas mas :

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


Fuente : Aquí
« Última modificación: 05 de Noviembre de 2009, 15:35:04 pm por Siquillote »

#Fdo. Physlet

Comunidad PHPeros

[TUTORIAL] Each , ereg_replace , eregi_replace ect...
« en: 03 de Noviembre de 2009, 16:54:08 pm »

Desconectado TheGeorge

  • PHPero Avanzado
  • ****
  • Mensajes: 351
  • Karma: 13
  • Sexo: Masculino
    • Ver Perfil
    • websources
Re:[TUTORIAL] Each , ereg_replace , eregi_replace ect...
« Respuesta #1 en: 04 de Noviembre de 2009, 05:42:59 am »
Pon la fuente.
La sacaste de acá

El thread fué copy & paste.
Saludos  ;)
¡Solo sé, que nada sé...!

Desconectado Siquillote

  • PHPero Master
  • ******
  • Mensajes: 4.229
  • Karma: 179
  • Sexo: Masculino
    • Ver Perfil
Re:[TUTORIAL] Each , ereg_replace , eregi_replace ect...
« Respuesta #2 en: 04 de Noviembre de 2009, 15:09:33 pm »
Ains es verdad , siempre se me olvida poner el link de la fuente :$ Para la proxima lo saco , el Thread no fue copy and paste fue escrito a mano , casualidad de que lo haya escrito igual

#Fdo. Physlet

Desconectado CarlosRdrz

  • Moderador Global
  • PHPero Master
  • *****
  • Mensajes: 2.505
  • Karma: 131
  • Sexo: Masculino
  • A.k.a. TLX
    • Ver Perfil
Re:[TUTORIAL] Each , ereg_replace , eregi_replace ect...
« Respuesta #3 en: 04 de Noviembre de 2009, 15:59:59 pm »
Pon la fuente,

Saludos
La dedicación de mi respuesta sera directamente proporcional a la dedicación de tu pregunta.
Hacer códigos que entiendan las máquinas es fácil, lo difícil y realmente útil es hacer códigos que entiendan las personas.
http://twitter.com/CarlosRdrz
http://www.carlosrdrz.es