|
คำสั่ง php implode นอกจาก รวมตัวอ้กษร ใช้ทำอะไรได้อีกบ้าง |
คำสั่ง php implode นอกจาก รวมตัวอ้กษร ใช้ทำอะไรได้อีกบ้าง การเขียนโปรแกรมทุกภาษา จะมีคำสั่งที่ให้เราเรียกใช้เพื่อช่วยงานบางอย่างที่เราต้องการโดยที่เราไม่ต้องเขียนเองทั้งหมด ซึ่งจะถูกเรียกว่า ฟังก์ชั่น (function) และในภาษา PHP จะมีฟังก์ชั่นมากมายให้เราเรียกใช้เช่นเดียวกันกับการเขียนโปรแกรมภาษาอื่นๆ
ฟังก์ชั่นที่แนะนำในบทความนี้คือ implode() ซึ่งจะทำงานตรงข้ามกับ explode() ที่ใช้แยกข้อความออกจากกัน ตามอักษรที่กำหนด ซึ่ง implode() จะเรียกใช้กับข้อมูลที่อยู่ในรูปแบบ Array เท่านั้น
Code (PHP)
$data = array("a", "b", "c", "d");
$strText = implode(":", $data);
echo $strText;
ผลลัพธ์ = a:b:c:d
Code (PHP)
<?php
$arr = array(
array( 'id' => 1, 'name' => 'ชัยวัฒน์', 'term' => '2', 'grade' => 'B'),
array( 'id' => 2, 'name' => 'พิทักษ์', 'term' => '2', 'grade' => 'B+'),
array( 'id' => 3, 'name' => 'วศิลป์', 'term' => '2', 'grade' => 'C+' ),
array( 'id' => 4, 'name' => 'กฤษฏา', 'term' => '2', 'grade' => 'A' ),
array( 'id' => 5, 'name' => 'ณรงค์', 'term' => '2', 'grade' => 'C' ),
array( 'id' => 6, 'name' => 'วรวุทธิ์', 'term' => '2', 'grade' => 'B+' ),
);
//เขียนแบบเดิม
echo '<table border=1 width=300>';
echo '<tr><th>รหัส</th><th>ชื่อ</th><th>เทอม</th><th>เกรด</th></tr>';
foreach($arr as $rs){
echo "<tr><td>". $rs['id'] ."</td><td>". $rs['name'] ."</td><td>". $rs['term'] ."</td><td>". $rs['grade'] ."</td></tr>";
}
echo '</table>';
//เขียนแบบใช้ implode()
echo '<table border=1 width=300>';
echo '<tr><th>รหัส</th><th>ชื่อ</th><th>เทอม</th><th>เกรด</th></tr>';
foreach($arr as $rs){
echo "<tr><td>". implode("</td><td>", $rs) ."</td></tr>";
}
echo '</table>';
?>
ตัวอย่างการสร้างคำสั่ง IN() ใน SQL
Code (PHP)
<?php
$_POST['id'] = array( 1, 3, 8, 10);//รหัสที่ส่งมาจากฟอร์ม
$inId = "'". implode("', '", $_POST['id']) ."'";
$sql = "SELECT * FROM my_table WHERE id IN($inId) ";
echo $sql;
?>
ผลลัพธ์ :: SELECT * FROM my_table WHERE id IN('1', '3', '8', '10')
Reference : http://sunzandesign.blogspot.com
|