PHP:
ค้นหาความยาวของสตริง
วิธีการ:
ใช้ฟังก์ชัน strlen()
อย่างนี้:
<?php
$text = "Hello, world!";
$length = strlen($text);
echo $length; // ผลลัพธ์: 13
?>
ถ้าคุณรันโค้ดนี้ คุณจะเห็น 13
บนหน้าจอของคุณ เพราะว่า “Hello, world!” มีความยาว 13 ตัวอักษร รวมถึงช่องว่างและเครื่องหมายตกใจ
ลงลึก
ฟังก์ชัน strlen()
ถูกรวมอยู่ใน PHP ตั้งแต่เวอร์ชันต้นๆ มันเรียบง่ายและทำงานตามจำนวนไบต์ ซึ่งโดยปกติจะเท่ากับจำนวนตัวอักษรในสตริงที่ไม่ต้องพิจารณาถึงการเข้ารหัสพิเศษ
อย่างไรก็ตาม ด้วยการประสานงานระหว่างประเทศของเว็บแอปพลิเคชัน การจัดการกับหลายภาษาและการเข้ารหัสตัวอักษรกลายเป็นเรื่องปกติ ตัวอักษรใน UTF-8 เช่น สามารถใช้มากกว่าหนึ่งไบต์ได้ นั่นคือที่มาของ mb_strlen()
:
<?php
// สตริงที่มีตัวอักษรหลายไบต์
$multibyteText = "こんにちは";
$length = mb_strlen($multibyteText, "UTF-8");
echo $length; // ผลลัพธ์: 5
?>
ห้าตัวอักษร แต่ใช้ไบต์มากกว่า ฟังก์ชัน mb_strlen()
ให้ความเคารพต่อการเข้ารหัสตัวอักษร โดยการรับประกันการตรวจสอบความยาวที่ถูกต้องสำหรับสตริงหลายไบต์
strlen()
เร็วและเหมาะสมสำหรับชุดตัวอักษรที่ใช้ไบต์เดียว mb_strlen()
, ถึงแม้จะเล็กน้อยช้ากว่าเนื่องจากต้องจัดการกับการเข้ารหัสที่ซับซ้อนมากขึ้น แต่จำเป็นเมื่อทำงานกับข้อความที่ประสานระดับนานาชาติ