ใน Module นี้ เราจะมาเรียนรู้เกี่ยวกับการจัดการ String ใน PHP ซึ่งเป็นทักษะที่สำคัญสำหรับการทำงานกับข้อความ ข้อมูลจากผู้ใช้ หรือข้อมูลจากไฟล์และฐานข้อมูล
String คืออะไร?
String ใน PHP คือลำดับของตัวอักษร ตัวเลข หรือสัญลักษณ์อื่นๆ ที่อยู่ในเครื่องหมายคำพูดเดี่ยว Single quote ('
) หรือคำพูดคู่ Double quote ("
) ให้เรียกเป็นภาษาอังกฤษจะเข้าใจได้ทั่วกันมากกว่า
<?php
$singleQuotedString = 'นี่คือ String ที่อยู่ในเครื่องหมายคำพูดเดี่ยว';
$doubleQuotedString = "นี่คือ String ที่อยู่ในเครื่องหมายคำพูดคู่";
?>
ความแตกต่างระหว่างเครื่องหมายคำพูดเดี่ยวและคู่
ความแตกต่างหลักคือการตีความตัวแปรและการใช้ Escape Sequences:
- เครื่องหมายคำพูดเดี่ยว Single quote (
'
): จะตีความ String ตามตัวอักษร ไม่มีการแทนที่ตัวแปรหรือ Escape Sequences บางตัว (เช่น\n
,\t
) - เครื่องหมายคำพูดคู่ Double quote (
"
): จะมีการแทนที่ตัวแปรภายใน String (สามารถใส่ตัวแปร ลงไปใน String) และรองรับ Escape Sequences ที่หลากหลาย
<?php
$name = "สมชาย";
echo 'สวัสดี, $name!'; // Output: สวัสดี, $name!
echo "สวัสดี, $name!"; // Output: สวัสดี, สมชาย!
echo 'นี่คือบรรทัดใหม่\n'; // Output: นี่คือบรรทัดใหม่\n
echo "นี่คือบรรทัดใหม่\n"; // Output: (ขึ้นบรรทัดใหม่)
?>
การเชื่อมต่อ String (String Concatenation)
ใช้เครื่องหมายจุด (.
) เพื่อเชื่อมต่อ String หลายๆ ตัวเข้าด้วยกัน
<?php
$firstName = "John";
$lastName = "Doe";
$fullName = $firstName . " " . $lastName;
echo $fullName; // Output: John Doe
?>
ฟังก์ชันที่ใช้จัดการ String (String Functions)
PHP มีฟังก์ชันมากมายที่ช่วยในการจัดการ String:
strlen()
หาค่าความยาวของ String (จำนวนตัวอักษร)
<?php
$text = "Hello World!";
echo strlen($text); // Output: 12
?>
str_word_count()
นับจำนวนคำใน String
<?php
$text = "Hello World!";
echo str_word_count($text); // Output: 2
?>
strrev()
กลับ String จากหลังมาหน้า
<?php
$text = "Hello";
echo strrev($text); // Output: olleH
?>
strpos()
ค้นหาตำแหน่งของการปรากฏครั้งแรกของ Substring ภายใน String (คืนค่าตำแหน่ง หรือ false
หากไม่พบ)
*พูดง่ายๆคือหาตำแหน่งของชุดตัวอักษรที่เราต้องการ
<?php
$text = "Hello World!";
echo strpos($text, "World"); // Output: 6
?>
str_replace()
แทนที่ Substring ที่ระบุด้วย String อื่น
<?php
$text = "Hello World!";
$newText = str_replace("World", "PHP", $text);
echo $newText; // Output: Hello PHP!
?>
strtolower()
และ strtoupper()
แปลง String เป็นตัวพิมพ์เล็กทั้งหมด หรือตัวพิมพ์ใหญ่ทั้งหมด
<?php
$text = "Hello World!";
echo strtolower($text); // Output: hello world!
echo "<br>";
echo strtoupper($text); // Output: HELLO WORLD!
?>
trim()
ตัดช่องว่าง (whitespaces) ที่อยู่ด้านหน้าและด้านหลังของ String ออก
<?php
$text = " Hello World! ";
echo trim($text); // Output: Hello World!
?>
substr()
คืนค่าส่วนหนึ่งของ String
<?php
$text = "Hello World!";
echo substr($text, 0, 5); // Output: Hello (เริ่มจากตำแหน่ง 0, เอา 5 ตัว)
echo "<br>";
echo substr($text, 6); // Output: World! (เริ่มจากตำแหน่ง 6 ถึงท้าย String)
?>
explode()
แยก String ออกเป็น Array โดยใช้ตัวคั่นที่ระบุ
<?php
$tags = "php,mysql,javascript";
$tagArray = explode(",", $tags);
print_r($tagArray); // Output: Array ( [0] => php [1] => mysql [2] => javascript )
?>
implode()
หรือ join()
รวมสมาชิกของ Array เป็น String โดยมีตัวคั่นที่ระบุ
<?php
$colors = ["red", "green", "blue"];
$colorString = implode(", ", $colors);
echo $colorString; // Output: red, green, blue
?>
Escape Sequences
Escape Sequences ใช้ใน String ที่อยู่ในเครื่องหมายคำพูดคู่ เพื่อแทนที่ตัวอักษรพิเศษที่ไม่สามารถพิมพ์ได้โดยตรง
\n
: ขึ้นบรรทัดใหม่ (Newline)\r
: Carriage Return\t
: Tab\\
: Backslash\$
: เครื่องหมาย Dollar\"
: เครื่องหมายคำพูดคู่
<?php
echo "นี่คือข้อความ\nที่มีบรรทัดใหม่";
echo "<br>";
echo "ราคาสินค้าคือ \$100";
echo "<br>";
echo "เครื่องหมายคำพูดคู่คือ \"";
?>
กิจกรรมใน Module 6
- สร้าง String โดยใช้ทั้งเครื่องหมายคำพูดเดี่ยวและคู่ และสังเกตความแตกต่าง
- ใช้ตัวดำเนินการจุด (
.
) เพื่อเชื่อมต่อ String หลายๆ ตัว - ทดลองใช้ฟังก์ชัน
strlen()
,str_word_count()
, และstrrev()
- ค้นหาตำแหน่งของ Substring ใน String โดยใช้
strpos()
- แทนที่คำหรือส่วนของ String โดยใช้
str_replace()
- แปลง String เป็นตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
- ตัดช่องว่างหน้าและหลัง String โดยใช้
trim()
- ดึงส่วนหนึ่งของ String โดยใช้
substr()
- แยก String เป็น Array และรวม Array เป็น String
- ใช้ Escape Sequences ใน String ที่อยู่ในเครื่องหมายคำพูดคู่
ใน Module ถัดไป เราจะมาเรียนรู้เกี่ยวกับการจัดการ Form และการรับข้อมูลจากผู้ใช้ ซึ่งเป็นส่วนสำคัญในการสร้างเว็บไซต์ที่มีการโต้ตอบครับ!