Curso gratuito de PHP. Regístrate para hacer un seguimiento de tu progreso →

PHP: Extracción de caracteres de una cadena

En esta lección aprenderemos a obtener un carácter específico de una cadena. Por ejemplo, si un sitio web conoce el nombre y apellido del usuario, y en algún momento se requiere mostrar esta información en el formato A. Ivanov. En este caso, debemos tomar el primer carácter del nombre:

<?php

$firstName = 'Alexander';

print_r($firstName[0]); // => A

Los corchetes con un número son un operador especial para extraer una cadena. Este número se llama índice y representa la posición del carácter dentro de la cadena.

Los índices comienzan desde cero en casi todos los lenguajes de programación. Para obtener el primer carácter, debemos especificar el índice 0. El índice del último elemento es igual a la longitud de la cadena menos uno:

<?php

$firstName = 'Alexander';

// La longitud de la cadena es 9, por lo tanto, el último índice es 8
print_r($firstName[8]);  // => r

// Pregunta de autoevaluación. ¿Qué imprimirá este código?
$magic = '\nyou';
print_r($magic[1]); // => ?

También es posible utilizar índices negativos. En este caso, se accede a los caracteres desde el final de la cadena. -1 es el índice del último carácter, -2 es el índice del penúltimo carácter, y así sucesivamente. A diferencia de la indexación directa, el conteo inverso comienza desde -1:

<?php

$firstName = 'Alexander';

print_r($firstName[-1]); // => r

El índice puede ser no solo un número específico, sino también el valor de una variable. Aquí hay un ejemplo que dará el mismo resultado, mostrando el carácter A en la pantalla:

<?php

$firstName = 'Alexander';
$index = 0;

print_r($firstName[$index]); // => A

Aquí, el índice dentro de los corchetes no está escrito como un número, sino como una variable.

Tarea

Se te han dado tres variables con los apellidos de diferentes personas. Crea y muestra en pantalla una palabra con los caracteres en el siguiente orden:

  1. El tercer carácter de la primera cadena.
  2. El segundo carácter de la segunda cadena.
  3. El cuarto carácter de la tercera cadena.
  4. El quinto carácter de la segunda cadena.
  5. El tercer carácter de la segunda cadena.

Intenta utilizar interpolación: dentro de las llaves, puedes colocar no solo variables enteras, sino también caracteres individuales utilizando corchetes.

¿El ejercicio no pasa la prueba, qué debo hacer? 😶

Si te quedaste atascado, es el momento perfecto para hacer una pregunta en las "Discusiones".
* Asegúrate de incluir la salida de las pruebas. Sin ella, es casi imposible entender qué está mal, incluso si muestras tu código. Los programadores tienen dificultades para ejecutar el código en su mente, pero casi siempre es posible entender a dónde mirar a partir del error que recibiste.

Mi código funciona en mi entorno, pero no aquí 🤨

Las pruebas están diseñadas de manera que verifican la solución de diferentes maneras y con diferentes datos. A menudo, una solución funciona con ciertos datos de entrada pero no con otros. Para entender este punto, revisa la pestaña "Pruebas" y presta atención a los mensajes de error, que suelen contener pistas.

Mi código es diferente a la solución del profesor 🤔

Esto es normal 🙆. En programación, una tarea puede tener muchas soluciones diferentes. Si tu código pasa la prueba, cumple con los requisitos de la tarea.

En raras ocasiones, la solución puede estar ajustada para pasar las pruebas, pero esto suele ser evidente.

Leí la lección, pero no entendí nada 🙄

Crear materiales de aprendizaje comprensibles para todos es bastante difícil. Hacemos nuestro mejor esfuerzo, pero siempre hay margen para mejorar. Si encuentras material que no entiendes, describe el problema en las "Discusiones". Es ideal si puedes formular los aspectos que no entiendes en forma de preguntas. Por lo general, necesitamos unos días para hacer mejoras.

Por cierto, tú también puedes contribuir a mejorar los cursos: en la parte inferior hay un enlace al código fuente de las lecciones, que se puede modificar directamente en el navegador.


¿Encontraste un error? ¿Quieres añadir algo? Las solicitudes de extracción son bienvenidas. https://codica.la/errores
El reactor de código está disponible en la versión principal →