php substr() : การตัดข้อความด้วยฟังก์ชั่น substr() ใน php แบบเจาะลึก


 13 ก.ค. 2561
php substr() : การตัดข้อความด้วยฟังก์ชั่น substr()  ใน php แบบเจาะลึก

ฟังก์ชั่น substr() ใน php เป็นคำสั่งสำหรับตัดสตริงที่เราต้องการซึ่ง ubstr() เป็นคำสั่งที่ มากในการทำเว็บ

PHP substr

รูปแบบ
substr(string,start,length)

string คือ string ที่ต้องการตัด

start คือ ตำแหน่งที่เริ่มต้น

โดยเริ่มนับจาก 0 คือตัวอักอักษรแรก
ถ้าเป็นเลขลบ เริ่มต้นจากตำแหน่งที่กำหนดโดยนับจากท้ายสตริง เช่น -3 คือจะเริ่มตัด string จากตำแหน่งที่ 3 นับจากตัวอักษรตัวสุดท้าย

length คือ จำนวนตัวอักษรที่ต้องการตัดจาก string
ถ้าเป็นเลขบวก จะเริ่มนับความยาวจากตำแหน่งของพารามิเตอร์ start
ถ้าเป็นเลขลบ จะเริ่มนับความยาวจากท้ายสตริง 


ตัวอย่าง script การใช้งานเบื้องต้น

<?php
// Positive numbers:
echo substr("Hello world",10);//d
echo substr("Hello world",1);//ello world
echo substr("Hello world",3)";//lo world 
echo substr("Hello world",7);//orld
echo "<br>";

// Negative numbers:
echo substr("Hello world",-1);//d   
echo substr("Hello world",-10);//ello world
echo substr("Hello world",-8);//lo world
echo substr("Hello world",-4);//orld
<?php
$v = substr("abcdef", 0, -1);  // returns "abcde"
$v = substr("abcdef", 2, -1);  // returns "cde"
$rv = substr("abcdef", 4, -4);  // returns false
$v = substr("abcdef", -3, -1); // returns "de"

 

<?php
$rest = substr("abcdef", -1);    // returns "f"
$rest = substr("abcdef", -2);    // returns "ef"
$rest = substr("abcdef", -3, 1); // returns "d"

 

ตัวอย่างการใช้คำสั่ง substr ตัดข้อความในการทำงานจริง 

ในตัวอย่างนี้ผมต้องการเช็คหมายเลขเบอร์โทรศัพท์จาก form เป็น post ที่ user กรอกเข้ามาว่าหมายเลขเบอร์โทรศัพท์ลงท้ายด้วยเลข "000"  หรือเปล่า 

<?php 
if($_POST['phone_number'])
{
  //ให้เริ่มตัดตัวอักษรตัวที่ 3 นับจากท้ายข้อความ โดยให้ตัดมาจำนวน 3 ตัวอักษร
  $last_three_digi=substr($_POST['phone_number'],-3,3);
  if($last_three_digi=='000')
  {
    echo('คุณคือผู้โชคดีได้รับรางวัลค่ะ');
  }
}

 

ลองนำเอาคำสั่ง substr ไปประยุกต์ใช้งานดูน่ะครับ 

สุดท้ายนี้ขอในทุกคนฝึกฝนการเขียนโปรแกรมเยอะ ๆ ครับ ฝึกมากเก่งมาก ฝึกน้อยเก่งน้อยครับ

 


ขอบคุณรูปไอคอนสวยๆ จาก >> Vector Graphics by Vecteezy.com


เทพควิช-lnwquiz