ฟังก์ชัน 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,
    ซึ่งตัดสตริงย่อยโดยคำนึงถึงการเข้ารหัส