ฟังก์ชัน mb_strlen
ฟังก์ชัน mb_strlen ส่งคืนจำนวนอักขระในสตริง โดยทำงานอย่างถูกต้องกับการเข้ารหัสหลายไบต์ (เช่น UTF-8) ซึ่งแตกต่างจาก strlen ตรงที่มันนับอักขระที่ใช้พื้นที่หลายไบต์ได้อย่างถูกต้อง พารามิเตอร์แรกรับสตริง พารามิเตอร์ที่สอง (ไม่บังคับ) - การเข้ารหัส
ไวยากรณ์
mb_strlen(string, [encoding]);
ตัวอย่าง
การนับความยาวสตริงใน UTF-8:
<?php
$res = mb_strlen('Привет', 'UTF-8');
echo $res;
?>
ผลลัพธ์จากการรันโค้ด:
6
ตัวอย่าง
การเปรียบเทียบกับ strlen สำหรับตัวอักษรซีริลลิก:
<?php
$str = 'тест';
echo 'strlen: ' . strlen($str) . '<br>';
echo 'mb_strlen: ' . mb_strlen($str, 'UTF-8');
?>
ผลลัพธ์จากการรันโค้ด:
strlen: 8
mb_strlen: 4
ตัวอย่าง
การใช้งานโดยไม่ระบุการเข้ารหัส
(การเข้ารหัสจะถูกนำมาจาก mb_internal_encoding):
<?php
echo mb_strlen('abcde');
?>
ผลลัพธ์จากการรันโค้ด:
5