มาแยกตัวอักษรหรือคำด้วยคำสั่ง explode() ในภาษา php แบบเจาะลึก


🕑 12 ก.ค. 2561
มาแยกตัวอักษรหรือคำด้วยคำสั่ง explode() ในภาษา php แบบเจาะลึก

วันนี้จะมาแนะนำการใช้งานคำสั่ง explode() ในภาษา php เพื่อมาแยกตัวอักษรกัน ครับ พร้อมแล้วก็ลุยกันเลย

หลายคน่ที่เขียนภาาษ php คงสัยว่าเราจะใช้คำสั่ง explode()  เพื่อมาแยกตัวอักษรหรือคำกันไม ตอนสมัยริ่มหัดเขียนภาษา php แอดมินก็สงสัย วันนี้เลยถือโอกาสมาสอนการใช้งานคำสั่ง explode แบบเจาะลึกกันครับ

 explode คือ คำสั่งสำหรับการแยกตัวอักษร หรือข้อความออกเป็นส่วน ๆ ตามที่เราต้องการ

 

 

ภาพรวมของคำสั่ง explode($delimiter,$string) มี Parameter 2 ตัว

1. Parameter ตัวแรก $delimiter คือ ตัวอักษรที่เราต้องใช้เป็นตัวแยก

2. Parameter ตัวที่สอง $string คือ ข้อความ หรือประโยคที่ต้องการแยก

 

ตัวอย่างที่ 1 เช่น ใน database เก็บ keyword ของบทความไว้ ซึ่งเก็บเป็นข้อความเช่น explode,php,ภาษา php โดยในตอนแสดงผลอยากได้ให้คลิกที่คำแต่ละคำแล้วลิงค์ไปหน้า search  เราสามารถประยุคต์เอาคำสั่ง explode  มาใช้ได้ โดยใช้ตัวอักษร comma ( , ) เป็นตัวแยกดังนี้ครับ

<?php
$keywords='explode,php,ภาษา php';
$arr_keyword=explode(',',$keywords);
foreach($arr_keyword as $v_keyword)
{
   echo('<a href="/search?q='.urlencode($v_keyword).">'.$v_keyword.'</a>');
}


/* 
html ผลลัพธ์
<a href="/search?q=explode">explode</a>
<a href="/search?q=php">php</a>
<a href="/search?q=ภาษา%20php">ภาษา php</a>
*/

ผลลัพธ์ที่ได้ก็จะประมาณนี้ 

 

ตัวอย่างที่ 2  เช่น ต้องการหาคำซ้ำในข้อความเราสามารถประยุคต์เอาคำสั่ง explode  มาใช้ได้

ตัวอย่างนี้ผมต้องหาว่ามีคำว่า "string" อยู่ในประข้อความกี่คำ ซึ่งผมจะใช้ช่องว่างเป็นตัวแยกคำครับ

<?php
$str='explode — Split a string by a string';
$arr_str=explode(' ',$str);
$total=0;
foreach($arr_str as $v)
{
  if($v=='string')
  {
    $total++;
  }
}
echo('มีคำว่า "string" อยู่ในประโยคทั้งหมด '.$total.' คำ');

/*
ผลลัพธ์ที่ได้คือ 
มีคำว่า "string" อยู่ในประโยคทั้งหมด 2 คำ
*/

 

เห็นมั้ยละครับว่า คำสั่ง  explode ในภาษา php มีประโยชน์ไม่น้อยทีเดียว 

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

เทพควิช-lnwquiz