Longhorn PHP 2026 - Call For Papers

mb_ucfirst

(PHP 8 >= 8.4.0)

mb_ucfirstDizgenin ilk karakterini büyük harfe çevirir

Açıklama

mb_ucfirst(string $dizge, ?string $kodlama = null): string

Çok baytlı kodlamalar için güvenli bir ucfirst() işlemi gerçekleştirir ve dizgenin ilk karakteri büyük harfe çevrilmiş bir dizge döndürür.

Bağımsız Değişkenler

dizge
Girdi dizgesi.
kodlama

kodlama bağımsız değişkeninde karakter kodlaması belirtilir. Belirtilmediği takdirde veya null ise dahili karakter kodlaması kullanılır.

Dönen Değerler

Sonuç dizgesi ile döner.

Notlar

Bilginize:

strtolower() ve strtoupper() gibi standart harf büyüklüğü değiştirme işlevlerinin aksine, bu işlemde harf büyüklüğü değişimi Unicode karakter özelliklerine göre yapılır. Bu nedenle bu işlevin davranışı yerel ayarlarından etkilenmez ve 'alfabetik' özelliğe sahip her karakteri (örneğin a-umlaut, ä) dönüştürebilir.

Unicode karakter özellikleri hakkında daha ayrıntılı bilgi için bakınız: » http://www.unicode.org/reports/tr21/.

Ayrıca Bakınız

  • mb_lcfirst() - Dizgenin ilk karakterini küçük harfe çevirir
  • mb_convert_case() - Bir dizgeye büyük-küçük harf dönüşümü uygular
  • ucfirst() - Dizgenin ilk karakterini büyük harfe çevirir
add a note

User Contributed Notes 2 notes

up
0
empiredesrtroyer12 at gmail dot com
5 months ago
For non-english words enconded in utf-8 works mb_convert_case  with MB_CASE_TITLE option

mb_convert_case(mb_substr($str, 0, 1), MB_CASE_TITLE) . mb_substr($str, 1);

For a single word 

echo mb_convert_case('çağla', MB_CASE_TITLE);

https://stackoverflow.com/questions/25729900/ucfirst-doesnt-work-on-non-english-characters
up
-1
hans at loltek dot net
1 year ago
polyfill:

<?php
if(PHP_VERSION_ID < 80400) {
function mb_ucfirst(string $str, string $encoding = null): string
{
    if ($encoding === null) {
        $encoding = mb_internal_encoding();
    }
    return mb_strtoupper(mb_substr($str, 0, 1, $encoding), $encoding) . mb_substr($str, 1, null, $encoding);
}

}
?>

if you wonder why i bother with mb_internal_encoding: prior to php7, $encoding was not nullable. if your polyfill don't need php5.6 support, you can drop it.
To Top