W3docs

lcfirst()

Articolo sulla funzione PHP lcfirst(), che converte il primo carattere di una stringa in minuscolo. Utile per lavorare con identificatori e input.

La funzione PHP lcfirst() rende minuscolo il primo carattere di una stringa e restituisce la stringa modificata. Viene toccato solo il primissimo carattere — il resto della stringa rimane esattamente com'è. Questa pagina tratta la sintassi, il valore restituito, il comportamento con caratteri non alfabetici e Unicode, e i casi d'uso più comuni.

Sintassi

lcfirst(string $string): string

Accetta un singolo parametro obbligatorio e restituisce una stringa nuovalcfirst() non modifica la variabile originale sul posto.

ParametroDescrizione
$stringLa stringa di input il cui primo carattere deve essere convertito in minuscolo.

Valore restituito: la stringa risultante con il primo carattere in minuscolo.

Esempio di base

php— editable, runs on the server

Solo la H iniziale viene modificata; il resto rimane invariato:

hello World!

Quando usarla?

lcfirst() è piccola ma utile ogni volta che il primo carattere ha un significato:

  • Generare identificatori camelCase. Trasforma GetUserName in getUserName per nomi di metodi o proprietà.
  • Normalizzare l'input dell'utente che potrebbe arrivare con la maiuscola quando lo si vuole memorizzare in minuscolo.
  • Formattazione di frasi/liste, dove la prima parola di un frammento non deve iniziare con la lettera maiuscola.
<?php
// PascalCase -> camelCase
echo lcfirst("UserProfile"); // userProfile
?>
userProfile

Comportamento con caratteri non alfabetici e input già in minuscolo

Se il primo carattere non è una lettera maiuscola — una cifra, un simbolo, uno spazio o una lettera già minuscola — lcfirst() restituisce la stringa invariata.

<?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

Attenzione: lcfirst() è basata sui byte, non è Unicode-aware

lcfirst() gestisce solo i caratteri ASCII a byte singolo. I caratteri multibyte, come le lettere accentate o non latine, non vengono convertiti correttamente in minuscolo, perché la funzione opera sul primo byte anziché sul primo carattere.

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

Per le stringhe multibyte, converte in minuscolo il primo carattere manualmente con mb_strtolower() e mb_substr():

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

Funzioni correlate

  • ucfirst() — il contrario: rende maiuscolo il primo carattere.
  • ucwords() — rende maiuscola la prima lettera di ogni parola.
  • strtolower() — converte l'intera stringa in minuscolo.
  • strtoupper() — converte l'intera stringa in maiuscolo.

Pratica

Pratica
Cosa fa la funzione PHP lcfirst?
Cosa fa la funzione PHP lcfirst?
Was this page helpful?