Devdit
 

PHP strlen นับคำภาษาไทยไม่ถูกต้อง วิธีแก้ไข

1K

บทความนี้กล่าวถึงคำสั่ง 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 ตัวอักษร ซึ่งมีความถูกต้องและใกล้เคียงกว่า

เขียน 2 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ