บทความนี้กล่าวถึงคำสั่ง strlen สำหรับนับตัวอักษรที่ต้องการ พอเรานำคำสั่งดังกล่าวมานับกับภาษาไทยผลลัพธ์จากการนับไม่ถูกต้อง แก้ไขโดยใช้คำสั่ง mb_strlen อักขระ UTF-8 แทน สามารถเขียนโปรแกรมได้ดังนี้
ตัวอย่าง PHP strlen นับคำภาษาไทยไม่ถูกต้อง วิธีแก้ไข
<?php
$message = "สวัสดีภาษาไทย";
$s1 = mb_strlen( $message, 'UTF-8' );
$s2 = strlen( $message );
echo "mb_strlen นับได้ทั้งหมด ".$s1." อักษร";
echo "<br/>";
echo "strlen นับได้ทั้งหมด ".$s2." อักษร";
?>
ผลลัพธ์
mb_strlen นับได้ทั้งหมด 13 อักษร
strlen นับได้ทั้งหมด 39 อักษร
พิจารณาโค้ดด้านบนตัวแปร message มีอักษรภาษาไทยทั้งหมด 13 ตัว เมื่อใช้คำสั่ง strlen นับได้ผลลัพธ์คือ 39 ซึ่งไม่ถูกต้อง แนะนำให้ใช้คำสั่ง mb_strlen แทน ซึ่งนับได้ 13 ตัวอักษร ซึ่งมีความถูกต้องและใกล้เคียงกว่า