mb_strlen функциясы

mb_strlen функциясы жолдағы таңбалар санын көпбайтты кодтаулармен (мысалы, UTF-8) дұрыс жұмыс істеп қайтарады. strlen-тен айырмашылығы, ол бірнеше байтты алатын таңбаларды дұрыс санайды. Бірінші параметр ретінде жолды қабылдайды, екінші параметр (міндетті емес) - кодтау.

Синтаксис

phpmb_strlen(string, [encoding]);

Мысал

UTF-8 жолының ұзындығын санау:

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

Кодты орындау нәтижесі:

php6

Мысал

Кириллица үшін strlen-пен салыстыру:

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

Кодты орындау нәтижесі:

phpstrlen: 8
mb_strlen: 4

Мысал

Кодтауды көрсетпей пайдалану (кодтау mb_internal_encoding-тен алынады):

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

Кодты орындау нәтижесі:

php5

Сондай-ақ қараңыз

  • strlen функциясы,
    ол жолдың ұзындығын байтпен қайтарады
  • mb_substr функциясы,
    ол кодтауды ескере отырып ішкі жолды кесіп алады