• No results found

YOUTH PROGRAM SUMMARY

CHALLENGES Tracking Client Data

Las funciones más útiles para la manipulación de cadenas de caracteres son las siguientes:

Recuerde las funciones

explode

,

implode

y

str_split

anteriormente presentadas (véanse sección Matrices - Funciones útiles). Otras funciones, más específicamente relacionadas con la gestión de formularios se estudian en el capítulo Gestionar los formularios.

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 2/11

cadena

Cadena en cuestión.

cadena

Cadena que se va a procesar.

strtolower - strtoupper - ucfirst - ucwords - lcfirst

Estas funciones permiten realizar conversiones de minúsculas/mayúsculas, posiblemente limitadas a la(s) primera(s) palabra(s) de la cadena.

Sintaxis

cadena strtolower(cadena cadena) cadena strtoupper(cadena cadena) cadena ucfirst(cadena cadena) cadena ucwords(cadena cadena) cadena lcfirst(cadena cadena)

La función

strtolower

convierte todos los caracteres de una cadena en minúsculas. La función

strtoupper

convierte todos los caracteres de una cadena en mayúsculas. La función

ucfirst

convierte el primer carácter de una cadena en mayúsculas.

La función

ucwords

convierte el primer carácter de cada palabra de una cadena en mayúsculas.

La función

lcfirst

convierte el primer carácter de una cadena en minúscula (a partir de la versión 5.3).

Ejemplo <?php

$x = ’OLIVIER HEURTEL’; $y = ’olivier heurtel’;

echo "strtolower(’$x’) = ",strtolower($x),’<br />’; echo "strtoupper(’$y’) = ",strtoupper($y),’<br />’; echo "ucfirst(’$y’) = ",ucfirst($y),’<br />’;

echo "lcfirst(’$x’) = ",lcfirst($x),’<br />’; echo "ucwords(’$y’) = ",ucwords($y),’<br />’; ?>

Resultado

strtolower(’OLIVIER HEURTEL’) = olivier heurtel strtoupper(’olivier heurtel’) = OLIVIER HEURTEL ucfirst(’olivier heurtel’) = Olivier heurtel lcfirst(’OLIVIER HEURTEL’) = oLIVIER HEURTEL ucwords(’olivier heurtel’) = Olivier Heurtel strcmp - strcasecmp

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 3/11

formato

Cadena de formato que presenta varias directivas según las especificaciones que figuran a continuación.

valor

Valor que se integrará en la cadena.

Ambas funciones devuelven un número negativo si

cadena1

es menor que

cadena2

, un número igual a 0 si son iguales y un número positivo si

cadena1

es mayor que

cadena2

.

strcmp

es sensible a mayúsculas y minúsculas, mientras que

strcasecmp

no lo es. Ejemplo

<?php

$x = ’Olivier’; $y = ’olivier’;

echo "strcmp(’$x’,’$y’) = ",strcmp($x,$y),’<br />’;

echo "strcasecmp(’$x’,’$y’) = ",strcasecmp($x,$y),’<br />’; ?>

Resultado

strcmp(’Olivier’,’olivier’) = -1 strcasecmp(’Olivier’,’olivier’) = 0 [s]printf

Las funciones

printf

y

sprintf

permiten dar formato a una cadena (idénticas a las funciones de C equivalentes).

Sintaxis

cadena sprintf(cadena formato[, mixto valor[, ...]]) entero printf(cadena formato[, mixto valor[, ...]])

sprintf

devuelve el resultado en forma (o

FALSE

en caso de error), mientras que

printf

muestra directamente el resultado (como la instrucción

echo

) y devuelve la longitud de la cadena con formato en caso de éxito o

FALSE

en caso de error.

La cadena

format

debe contener una directiva de formato para cada argumento

valor

; esta directiva de formato especifica la ubicación y el formato del valor correspondiente. La correspondencia entre una directiva de formato y un valor es de posicionamiento (primera directiva para el primer valor...).

Las instrucciones de formato comienzan con el carácter % seguido de una a cinco informaciones, siendo la última la única obligatoria:

%[relleno][alineación][longitud][precisión]tipo Las informaciones son las siguientes:

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 4/11

alineación a la izquierda.

longitud

Especifica el número mínimo de caracteres del elemento formateado.

precisión

Indica el número de dígitos usados para el formato de un número de punto flotante (válido sólo si el elemento asociado es un número).

tipo

Da el tipo del valor que se va a insertar:

c: entero que se sustituye por el carácter cuyo código ASCII tiene este valor;

d: entero que se representará como tal;

f: número de punto flotante que se representará como tal (teniendo en cuenta la configuración regional);

F: número de punto flotante que se representará como tal (sin tener en cuenta la configuración regional); apareció con la versión 5.0.3;

s: ninguno, se representará como una cadena.

Directiva Valor Resultado Explicación

%d 1 1 Número entero sin un formato especial. %02d 1 01

02

= completar con el carácter cero, en una

longitud mínima de dos.

%f 1/3 0.333333 Número de punto flotante sin un formato especial.

%.2f 1/3 0.33

.2

= dos dígitos después del separador decimal.

%02.3f 1/3 00.333

.3

= tres dígitos después del separador decimal.

02

= completar con el carácter cero, con el separador decimal, en una longitud mínima de dos.

%s Olivier! Olivier! Cadena sin un formato especial.

%’.10s Olivier ...Olivier

’.10

= completar con un punto para llegar a una longitud mínima de diez caracteres (alineación predeterminada).

%’.-10s Olivier Olivier...

’.-10

= completar con un punto para llegar a una longitud mínima de diez Para obtener un carácter "%" en el resultado final, debe duplicarlo en el formato.

Algunos ejemplos:

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 5/11

formato

Cadena de formato que presenta varias directivas según las especificaciones dadas anteriormente.

valores

Matriz que da los valores que se van a integrar en la cadena. Ejemplo

<?php

echo ’Formato de una fecha: ’,

sprintf(’%02d/%02d/%04d’,1,1,2001),’<br />’; echo ’Formato de números: ’,

sprintf(’%01.2f - %01.2f’,1/3,12345678.9),’<br />’; echo ’Pordentaje: ’,

sprintf(’%01.2f %%’,12.3),’<br />’;

echo ’Utilización de las opciones de relleno:<br />’; echo ’<tt>’; // fuente no proporcional

printf("%’.-10s%’.5.2f<br />",’Libros’,9.35); // printf direct printf("%’.-10s%’.5.2f<br />",’Discos’,99.9); // printf direct echo ’</tt>’;

?> Resultado

Formato de una fecha: 01/01/2001 Formato de números: 0.33 - 12345678.90 Porcentaje: 12.30 %

Utilización de las opciones de relleno: Libros...9.35

Discos...99.90 v[s]printf

Las funciones

vprintf

y

vsprintf

son idénticas a las funciones

printf

y

sprintf

, pero aceptan como segundo parámetro una matriz que contiene los distintos valores que se van a utilizar (en lugar de varios parámetros).

Sintaxis

cadena vsprintf(cadena formato[, matriz valores]) entero vprintf(cadena formato[, matriz valores]) Con

Ejemplo <?php

$datos = array(array(’Libros’,9.35),array(’Discos’,99.9)); echo ’<tt>’; // fuente no proporcional

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 6/11

valor

Número que se va a formatear.

decimales

Número de decimales (ninguna parte decimal por defecto).

separador_decimal

Separador decimal (punto por defecto).

separador_millares

Separador de millares (coma por defecto). Discos...99.90

number_format

La función

number_format

permite dar formato a un número. Sintaxis

cadena number_format(número valor[, entero decimales[, cadena separador_decimal, cadena separador_millares]])

Se puede llamar a la función con uno, dos o cuatro argumentos, pero no tres: si se da un tercero, el cuarto es obligatorio.

Si el número tiene una precisión superior a la solicitada (parámetro decimales), el número se redondea a la precisión solicitada.

Ejemplo <?php

$x = 1234.567;

echo "number_format($x) = ",number_format($x),’<br />’; echo "number_format($x,1) = ",number_format($x,1),’<br />’; echo "number_format($x,2,’,’,’ ’) = ", number_format($x,2,’,’,’ ’),’<br />’; ?> Resultado number_format(1234.567) = 1,235 number_format(1234.567,1) = 1,234.6 number_format(1234.567,2,’,’,’ ’) = 1 234,57

Observe, en estos ejemplos, los redondeos automáticos cuando la precisión solicitada es ​inferior a la precisión del número.

ltrim - rtrim - trim

Estas funciones permiten eliminar los caracteres "blancos" u otros caracteres al principio de la cadena, al final de la cadena o en ambos lados.

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 7/11

cadena

Cadena que se va a procesar.

caracteres

Cadena que indica la lista de caracteres que se va a eliminar. Si este parámetro está ausente, los caracteres "blancos" se eliminan.

cadena

Cadena que se va a procesar.

inicio

Posición del primer carácter de la subcadena que se va a extraer (atención 0 = 1er carácter).

longitud

Número de caracteres que se van a extraer (por defecto, hasta el final de la cadena).

Las tres funciones devuelven una cadena igual a la cadena inicial en la que los caracteres "blancos" o los caracteres especificados se han eliminado al principio (

ltrim

con

l

= left = a la izquierda) al final (

rtrim

con

r

= right = a la derecha) o en ambos lados (

trim

).

Los caracteres "blancos" son el salto de línea (\n = código ASCII 10), el retorno de carro (\r = código ASCII 13), la tabulación (\t = código ASCII 9), el carácter NULL (\0 = código ASCII 0) y el espacio.

Ejemplo <?php

$x = "\t\t\t x \n\r";

echo ’strlen($x) = ’,strlen($x),’<br />’;

echo ’strlen(ltrim($x)) = ’,strlen(ltrim($x)),’<br />’; echo ’strlen(rtrim($x)) = ’,strlen(rtrim($x)),’<br />’; echo ’strlen(trim($x)) = ’,strlen(trim($x)),’<br />’; $x = ’***+-Olivier-+***’;

echo "trim(’$x’,’*+-’) = ",trim($x,’*+-’), ’<br />’; ?> Resultado strlen($x) = 8 strlen(ltrim($x)) = 4 strlen(rtrim($x)) = 5 strlen(trim($x)) = 1 trim(’***+-Olivier-+***’,’*+-’) = Olivier substr

La función

substr

permite extraer una subcadena de una cadena. Sintaxis

cadena substr(cadena cadena, entero inicio[, entero longitud])

Si el argumento

inicio

es positivo, la subcadena extraída comienza en el

www.FreeLibros.me

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 8/11

secuencia

Secuencia de caracteres a repetir.

repeticiones

Número de repeticiones deseadas.

caracteres indicado por el argumento

longitud

.

Si el argumento

longitud

se especifica y es negativo, la subcadena extraída termina al final de la cadena, menos el número de caracteres indicado por el valor absoluto del argumento

longitud

.

Ejemplo <?php

// 0123456 => para el control $x = ’Olivier’;

echo "substr(’$x’,3) = ",substr($x,3),’<br />’; echo "substr(’$x’,3,2) = ",substr($x,3,2),’<br />’; echo "substr(’$x’,-4) = ",substr($x,-4),’<br />’; echo "substr(’$x’,-4,3) = ",substr($x,-4,3),’<br />’; ?> Resultado substr(’Olivier’,3) = vier substr(’Olivier’,3,2) = vi substr(’Olivier’,-4) = vier substr(’Olivier’,-4,3) = vie str_repeat

La función

str_repeat

permite construir una cadena por repetición de caracteres. Sintaxis

cadena str_repeat(cadena secuencia, entero repeticiones)

Ejemplo <?php echo str_repeat(’abc’,3); ?> Resultado abcabcabc

strpos - strrpos - stripos - strripos

Estas funciones permiten buscar la posición de una ocurrencia (carácter o cadena) dentro de una

www.FreeLibros.me

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 9/11

a_procesar

Cadena que se va a procesar.

buscar

Elemento buscado.

inicio

Número del carácter (0 = primer carácter) a partir del cual se debe llevar a cabo la búsqueda (por defecto, el inicio de la cadena). Con

strpos

busca, en la cadena

a_procesar

, la primera ocurrencia de la cadena de

buscar

, comenzando a apartir del carácter número

inicio

(0 = primer carácter).

strrpos

busca, en la cadena

a_procesar

, la última ocurrencia de la cadena de

buscar

, comenzando a apartir del carácter número

inicio

(0 = primer carácter). Si el

inicio

es negativo (

-

n

), los

n

últimos caracteres de la cadena

a_procesar

se ignoran. El parámetro

inicio

se añadió en la versión 5. En la versión 4, sólo se tenía en cuenta el primer carácter de la cadena

buscar

.

Las dos funciones son sensibles a mayúsculas y minúsculas (en mayúsculas no es igual que en minúsculas). Las funciones

stripos

y

strripos

son idénticas respectivamente a las funciones

strpos

y

strrpos

, pero no son sensibles a mayúsculas y minúsculas; esto se introdujo en la versión 5.

Estas cuatro funciones devuelven la posición de la ocurrencia encontrada (0 = primer carácter) o

FALSE

si el elemento de búsqueda no se encuentra.

FALSE

es equivalente a 0, por lo tanto es fácil confundir el caso en el que el elemento no se ha encontrado y en el que se encontró al principio de la cadena. La técnica consiste en utilizar el operador de comparación "===" (tres signos igual), que permite comparar el valor y el tipo de dos expresiones (para más detalles, véase el capítulo Operadores).

Ejemplo <?php // 0123456789 ... => para el control $correo = ’[email protected]’; // strrpos $posición = strrpos($mail,’@’);

echo "@ está en la posición $posición en $correo<br />"; // strpos

$posición = strpos($correo,’olivier’);

echo "’olivier’ está en la posición $posición en $correo<br />"; // Ocurrencia al principio de la cadena

$posición = strpos($correo,’contacto’); if (! $posición) { // prueba no superada

echo "’contacto’ no se puede encontrar en $correo<br />"; } else {

echo "’contacto’ está en la posición $posición en $correo<br />";

}

if ($posición === FALSE) { // prueba superada: ===

echo "’contacto’ no se puede encontrar en $correo<br />";

www.FreeLibros.me

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 10/11

a_procesar

Cadena que se va a procesar.

buscar

Elemento buscado.

antes

Indica si la función devuelve la cadena situada antes (valor

TRUE

) o después (valor

FALSE

, por defecto) de la cadena buscada.

echo "’información’ está en la posición $posición en $correo<br />";

} ?> Resultado

@ está en la posición 7 en [email protected]

’olivier’ está en la posición 8 en [email protected] ’contacto’ no se puede encontrar en [email protected] ’contacto’ está en la posición 0 en [email protected] ’información’ no se puede encontrar en [email protected] strstr - stristr - strrchr

Estas funciones permiten extraer la subcadena comenzando a partir de una ocurrencia determinada de un carácter o de una cadena.

Sintaxis

cadena strstr(cadena a_procesar, cadena buscar, booleano antes) cadena stristr(cadena a_procesar, cadena buscar, booleano antes) cadena strrchr(cadena a_procesar, carácter buscar)

Las funciones

strstr

y

stristr

buscan, en la cadena

a_procesar

, la primera ocurrencia de lacadena

buscar

y devuelven la porción final o inicial de la cadena comenzando desde esta ocurrencia (incluida). La función

strstr

es sensible a mayúsculas y minúsculas (una mayúscula es diferente de una minúscula), mientras que

stristr

no lo es.

strrchr

busca, en la cadena

a_procesar

, la última ocurrencia del carácter

buscar

y devuelve la porción final o inicial de la cadena comenzando desde esta ocurrencia (incluida). Si

buscar

es una cadena de varios caracteres, sólo el primero se tiene en cuenta.

strrchr

es sensible a mayúsculas y minúsculas.

Estas tres funciones devuelven

FALSE

si no se encuentra el elemento buscado. Ejemplo

<?php

$correo = ’[email protected]’; echo "Resto del $correo comenzando por:<br />"; // strrchr

$resto = strrchr($correo,’-’);

http://www.eni-training.com/client_net/mediabook.aspx?idR=85125 11/11

echo "Inicio de $correo terminando por:<br />"; // strstr&nbs

http://www.eni-training.com/client_net/mediabook.aspx?idR=85127 1/2

expresión

puede ser un valor literal de cualquier tipo (

123

,

’Hola’

,

TRUE

...), otra variable o cualquier expresión que combina valores literales, variables con funciones y operadores.

Ejemplo <?php

$nombre = ’Olivier’; $índice = 1;

?>

Con esta sintaxis, la asignación se efectúa por valor, es decir, que el valor de la expresión situada a la derecha del signo igual se copia en la variable mencionada a la izquierda. Al realizar una asignación de una variable en otra, la modificación posterior de la primera variable no tiene efecto en la segunda. Ejemplo

<?php

// Inicialización de una variable. $x = 1;

// Asignación de la variable $x en la variable $y. $y = $x;

// Modificación de la variable $x. $x = 2;

// Visualización del resultado. echo "\$x = $x<br />";

echo "\$y = $y<br />"; ?>

Resultado $x = 2 $y = 1

La operación de asignación es una expresión que tiene un valor igual al valor asignado y que se puede utilizar directamente en otra expresión. Por ejemplo, el valor de la expresión

$x = 1

es

1

y se puede escribir una instrucción de tipo

$y=($x=1)+2

que asigna al valor 3 a

$y

.

Ejemplo <?php

// Asignación de una instrucción de $x y $y. $y = ($x = 1) + 2;

// Visualización del resultado. echo "\$x = $x<br />";

echo "\$y = $y<br />"; ?>

Resultado $x = 1

http://www.eni-training.com/client_net/mediabook.aspx?idR=85128 1/1

¿Qué es PHP?

Estructura básica de una página PHP Configuración de PHP

Utilizar PHP desde la línea de comandos

Constantes Variables Tipos de datos Matrices

Algunas funciones útiles sobre las cadenas de caracteres, las fechas y los números

El operador de asignación por valor El operador de asignación por referencia

Los operadores aritméticos El operador de cadena Los operadores de comparación Los operadores lógicos El operador ternario Los operadores combinados Precedencia de los operadores Información general sobre PHP

Variables, constantes, tipos y matrices

Operadores

Estructuras de control Funciones y clases Gestión de formularios Acceder a las bases de datos Administrar las sesiones Enviar un correo electrónico Gestión de archivos

Administrar los errores en un script PHP Anexo

El operador de asignación por referencia

A partir de PHP 4, es posible relizar una asignación por referencia utilizando el operador &. Sintaxis

$variable2 = &$variable1;

Con esta sintaxis, el valor de la variable $variable1 no se copia en la variable $variable2. La variable $variable2 hace referencia a la variable $variable1; las dos variables apuntan a la misma zona de memoria y la modificación de una variable afecta a la otra.

Ejemplo <?php

// Inicialización de una variable. $apellido = ’Olivier’;

// Asignación en otra variable por referencia. $patronímico = &$apellido;

// Visualización del resultado. echo "<b>Inicialmente:</b><br />"; echo "\$apellido = $apellido<br />"; echo "\$patronímico = $patronímico<br />"; // Modificación de la primera variable. $apellido = ’Heurtel’;

// Visualización del resultado.

echo "<b>Después de la modificación de \$apellido:</b><br />"; echo "\$apellido = $apellido<br />";

echo "\$patronímico = $patronímico<br />"; ?>

Resultado Inicialmente: $apellido = Olivier $patronímico = Olivier

Después de la modificación de $apellido: $apellido = Heurtel

$patronímico = Heurtel

Subir

Condiciones generales de uso Copyright - ©Editions ENI

http://www.eni-training.com/client_net/mediabook.aspx?idR=85129 1/1

¿Qué es PHP?

Estructura básica de una página PHP Configuración de PHP

Utilizar PHP desde la línea de comandos

Constantes Variables Tipos de datos Matrices

Algunas funciones útiles sobre las cadenas de caracteres, las fechas y los números

El operador de asignación por valor El operador de asignación por referencia Los operadores aritméticos El operador de cadena Los operadores de comparación Los operadores lógicos El operador ternario Los operadores combinados Precedencia de los operadores Información general sobre PHP

Variables, constantes, tipos y matrices

Operadores

Estructuras de control Funciones y clases Gestión de formularios Acceder a las bases de datos Administrar las sesiones Enviar un correo electrónico Gestión de archivos

Administrar los errores en un script PHP Anexo

Operación Operador Ejemplo

($x=13 y $y=8)

Suma + echo $x + $y; => 21

Resta - echo $x - $y; => 5

Multiplicación * echo $x * $y; =>

104

División / echo $x / $y; =>

1.625 Módulo (resto de la división entera del

primer operando por el segundo) % echo $x % $y; => 5

Contrario - echo -$x; => -13

Preincremento (incrementa la variable

antes de devolver el valor de la variable) ++ antesdel operando

echo ++$x; => 14 Postincremento (incrementa la variable

después de haber devuelto el valor de la variable) ++ después del operando echo $x++; => 13 echo $x; => 14 Predecremento (decrementa la variable

antes de devolver el valor de la variable) -- antes deloperando echo --$x; => 12 Postdecremento (decrementa la variable

después de haber devuelto el valor de la variable) -- después del operando echo $x--; => 13 echo $x; => 12

Los operadores aritméticos

Los operadores aritméticos son los siguientes:

Subir

Condiciones generales de uso Copyright - ©Editions ENI

http://www.eni-training.com/client_net/mediabook.aspx?idR=85130 1/1

¿Qué es PHP?

Estructura básica de una página PHP Configuración de PHP

Utilizar PHP desde la línea de comandos

Constantes Variables Tipos de datos Matrices

Algunas funciones útiles sobre las cadenas de caracteres, las fechas y los números

El operador de asignación por valor El operador de asignación por referencia Los operadores aritméticos

El operador de cadena Los operadores de comparación Los operadores lógicos El operador ternario Los operadores combinados Precedencia de los operadores Información general sobre PHP

Variables, constantes, tipos y matrices

Operadores

Estructuras de control Funciones y clases Gestión de formularios Acceder a las bases de datos Administrar las sesiones Enviar un correo electrónico Gestión de archivos

Administrar los errores en un script PHP Anexo

El operador de cadena

El único operador de cadena es el operador de concatenación, igual que el punto (.). Sintaxis

cadena1.cadena2;

Esta sintaxis devuelve una cadena igual a la primera cadena inmediatamente seguida de la segunda; no se coloca ningún separador entre las dos cadenas.

Ejemplo <?php

// Utilización del operador de concatenación con // variables y expresiones literales.

$nombre = ’Olivier’; $apellido = ’Heurtel’;

echo $apellido.’, ’.$nombre.’<br />’; ?>

Resultado Heurtel, Olivier

Subir

Condiciones generales de uso Copyright - ©Editions ENI

http://www.eni-training.com/client_net/mediabook.aspx?idR=85131 1/1

¿Qué es PHP?

Estructura básica de una página PHP Configuración de PHP

Utilizar PHP desde la línea de comandos

Constantes Variables Tipos de datos Matrices

Algunas funciones útiles sobre las cadenas de caracteres, las fechas y los números

El operador de asignación por valor El operador de asignación por referencia Los operadores aritméticos

El operador de cadena

Los operadores de comparación Los operadores lógicos

El operador ternario Los operadores combinados Precedencia de los operadores Información general sobre PHP

Variables, constantes, tipos y matrices

Operadores

Estructuras de control Funciones y clases Gestión de formularios Acceder a las bases de datos Administrar las sesiones Enviar un correo electrónico