Curso PHP: Operaciones con cadenas

Curso PHP: Operaciones con cadenas

El trabajo con cadenas es obligado en cualquier proyecto de PHP en que estuvieramos involucrados. Por eso, a veces viene muy bien saber de antemano ciertas funciones incorporadas en PHP que nos permiten trabajar de forma cómoda con cadenas. Hoy vamos a ver una definición y ejemplos prácticos de las funciones strlen(), substr(), str_replace(), str_pad() y strpos(), que es posible que en más de una ocasión nos alegren el día 😉

Como ya hemos visto una cadena de caracteres (string) es un conjunto de caracteres unidos entre sí (que pueden formar una frase), como por ejemplo “La última versión LTS de Ubuntu es la 14.04”.

strlen()

La función strlen() necesita como parámetro una cadena y nos devuelve un valor de tipo entero con la longitud (número de caracteres) de ésta:

<?php
$string = 'La última versión LTS de Ubuntu es la 14.04';
echo strlen($string); //Resultado: 45
?>

str_replace()

La función str_replace() nos permite reemplazar uno o varios caracteres dentro de la cadena por otro(s). Esta función necesita de 3 parámetros ($a_reemplazar, $reemplazar_por y $cadena):

<?php
$string = 'La última versión LTS de Ubuntu es la 14.04';
echo str_replace('14.04', '15.04', $string); //Resultado: La última versión LTS de Ubuntu es la 15.04
?>

str_pad()

La función str_pad() nos permite obtener una cadena de tamaño fijo añadiendo caracteres antes o después de ésta. Esto es muy útil si queremos obtener siempre un número de 6 caracteres por ejemplo (añadiendo ceros).

A continuación vemos la sintaxis de la función:

<?php
string str_pad ($cadena, $tamaño_deseado, $caracter_a_agregar = " ", $tipo = STR_PAD_RIGHT);
?>

Que como vemos, por defecto agrega el carácter ” ” (espacio) a la derecha de la cadena (STR_PAD_RIGHT), por lo que, los únicos parámetros obligatorios son la cadena y el tamaño deseado. Vamos a ver un ejemplo de agregar 0 delante de números para así conseguir una cadena fija de 6 caracteres:

<?php
$cadena1 = '786';
$cadena2 = '51';
$cadena3 = '45';
 
echo str_pad($cadena1, 6, '0', STR_PAD_LEFT) . '<br/>'; //000786
echo str_pad($cadena2, 6, '0', STR_PAD_LEFT) . '<br/>'; //000051
echo str_pad($cadena3, 6, '0', STR_PAD_LEFT) . '<br/>'; //000045
?>

strpos()

La función strpos() nos permite saber la posición exacta de un carácter o conjunto de caracteres dentro de una cadena (empezando desde 0) o false cuando la cadena no contiene lo que buscamos. Esto nos puede ser útil por ejemplo simplemente para saber si una cadena contiene X carácter o caracteres.

La sintaxis de esta función viene a ser la siguiente:

<?php
strpos($cadena, $lo_buscado, $empezar_en);
?>

La posición de comienzo (representada por $empezar_en) es opcional. Este parámetro nos permite especificar una posición desde la cual empezaremos a ver si existe $lo_buscado dentro de $cadena. Vamos a ver un ejemplo:

<?php
$string = 'La última versión LTS de Ubuntu es la 14.04';
$lo_buscado = 'LTS';
 
$pos = strpos($string, $lo_buscado); //20
 
if($pos){
	echo 'La cadena "' . $string . '" contiene "' . $lo_buscado . '" en la posición ' . $pos ;
} else{
	echo 'La cadena "' . $string . '" no contiene "' . $lo_buscado . '"';
}
?>
Si el conjunto de caracteres buscado se encuentra más de una vez en la cadena, la función strpos() nos devuelve sólo la primera posición:

<?php
$string = 'La última versión LTS de Ubuntu es la 14.04';
$lo_buscado = 'a';
 
$pos = strpos($string, $lo_buscado); //20
 
if($pos){
	echo 'La cadena "' . $string . '" contiene "' . $lo_buscado . '" en la posición ' . $pos ;
} else{
	echo 'La cadena "' . $string . '" no contiene "' . $lo_buscado . '"';
}
?>

substr()

La función sustr() nos permite extraer caracteres de una cadena de caracteres. Esta función necesita de 3 parámetros: Cadena de caracteres, Inicio de extracto y longitud de extracto:

<?php
$string = 'La última versión LTS de Ubuntu es la 14.04';
echo substr($string, 20, 3); //LTS
?>

Podemos utilizar la misma función para extraer caracteres de derecha a izquierda de la siguiente forma:

<?php
$string = 'La última versión LTS de Ubuntu es la 14.04';
echo substr($string, -5, 5); //14.04
?>

strtoupper() y strtolower()

Las funciones strtoupper() y strtolower() nos permiten convertir a mayúsculas o minúsculas respectivamente el contenido de una cadena de caracteres:

<?php
$string = 'La última versión LTS de Ubuntu es la 14.04'; //LA úLTIMA VERSIóN LTS DE UBUNTU ES LA 14.04
echo strtoupper($string);
?>
<?php
$string = 'La última versión LTS de Ubuntu es la 14.04'; //la última versión lts de ubuntu es la 14.04
echo strtolower($string);
?>
Curso PHP: Estructura de control SWITCH...CASE
Curso PHP: Arrays simples y asociativos

Publicar un comentario