มาแยกตัวอักษรหรือคำด้วยคำสั่ง 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