W3docs

lcfirst()

Artículo sobre la función PHP lcfirst(), que convierte el primer carácter de una cadena a minúscula. Útil para trabajar con identificadores y formatos.

La función PHP lcfirst() convierte el primer carácter de una cadena a minúscula y devuelve la cadena modificada. Solo se modifica el primer carácter; el resto de la cadena se deja exactamente como está. Esta página cubre su sintaxis, valor de retorno, comportamiento con caracteres no alfabéticos y Unicode, y las situaciones comunes en las que resulta útil.

Sintaxis

lcfirst(string $string): string

Acepta un único parámetro obligatorio y devuelve una cadena nuevalcfirst() no modifica la variable original en su lugar.

ParámetroDescripción
$stringLa cadena de entrada cuyo primer carácter debe convertirse a minúscula.

Valor de retorno: la cadena resultante con su primer carácter en minúscula.

Ejemplo básico

php— editable, runs on the server

Solo cambia la H inicial; el resto queda intacto:

hello World!

¿Cuándo usarla?

lcfirst() es pequeña pero útil cuando el primer carácter tiene un significado especial:

  • Generar identificadores camelCase. Convierte GetUserName en getUserName para nombres de métodos o propiedades.
  • Normalizar entrada del usuario que puede llegar en mayúscula cuando se almacena en minúscula.
  • Formato de oraciones o listas, donde la primera palabra de un fragmento no debe comenzar con mayúscula.
<?php
// PascalCase -> camelCase
echo lcfirst("UserProfile"); // userProfile
?>
userProfile

Comportamiento con caracteres no alfabéticos y entrada ya en minúscula

Si el primer carácter no es una letra mayúscula — un dígito, símbolo, espacio o una letra ya en minúscula — lcfirst() devuelve la cadena sin cambios.

<?php
echo lcfirst("Hello"), "\n"; // hello
echo lcfirst("123ABC"), "\n"; // 123ABC (first char is a digit)
echo lcfirst(" Hello"), "\n"; // " Hello" (leading space is unchanged)
echo lcfirst(""), "\n";       // "" (empty string)
?>
hello
123ABC
 Hello

Advertencia: lcfirst() trabaja por bytes, no es compatible con Unicode

lcfirst() solo maneja letras ASCII de un solo byte. Los caracteres multibyte, como letras acentuadas o no latinas, no se convierten correctamente a minúscula, ya que la función opera sobre el primer byte en lugar del primer carácter.

<?php
echo lcfirst("Élan"); // stays "Élan" (É is multibyte)
?>
Élan

Para cadenas multibyte, convierte el primer carácter a minúscula manualmente con mb_strtolower() y mb_substr():

<?php
$str = "Élan";
$first = mb_strtolower(mb_substr($str, 0, 1), "UTF-8");
echo $first . mb_substr($str, 1); // élan
?>
élan

Funciones relacionadas

  • ucfirst() — la opuesta: convierte el primer carácter a mayúscula.
  • ucwords() — pone en mayúscula la primera letra de cada palabra.
  • strtolower() — convierte toda la cadena a minúscula.
  • strtoupper() — convierte toda la cadena a mayúscula.

Práctica

Práctica
¿Qué hace la función lcfirst de PHP?
¿Qué hace la función lcfirst de PHP?
Was this page helpful?