mb_strlen Fonksiyonu

mb_strlen işlevi, çok baytlı kodlamalarla (örneğin, UTF-8) doğru şekilde çalışarak bir dizedeki karakter sayısını döndürür. strlen'den farklı olarak, birden fazla bayt kaplayan karakterleri doğru bir şekilde sayar. İlk parametre olarak bir dize, ikinci parametre (isteğe bağlı) olarak ise kodlamayı alır.

Sözdizimi

phpmb_strlen(string, [encoding]);

Örnek

UTF-8'de dize uzunluğunun hesaplanması:

php<?php
  $res = mb_strlen('Привет', 'UTF-8');
  echo $res;
?>

Kod çalıştırmanın sonucu:

php6

Örnek

Kiril alfabesi için strlen ile karşılaştırma:

php<?php
  $str = 'тест';
  echo 'strlen: ' . strlen($str) . '<br>';
  echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>

Kod çalıştırmanın sonucu:

phpstrlen: 8
mb_strlen: 4

Örnek

Kodlama belirtilmeden kullanım (kodlama mb_internal_encoding'den alınır):

php<?php
  echo mb_strlen('abcde');
?>

Kod çalıştırmanın sonucu:

php5

Ayrıca Bakınız

  • strlen işlevi,
    bir dizenin bayt cinsinden uzunluğunu döndürür
  • mb_substr işlevi,
    kodlamayı dikkate alarak bir alt dize çıkarır