ฟังก์ชันเกี่ยวกับสตริง

Download Report

Transcript ฟังก์ชันเกี่ยวกับสตริง

PHP:
[6] ฟังก์ชั่นเกีย่ วกับสตริง
ฟังก์ ชั่น (Functions)

ฟังก์ ชั่น (Functions) หมายถึง กลุ่มของคาสั่ งทีถ่ ูก
นามารวบรวมไว้ ด้วยกัน เพือ่ ให้ สามารถเรียกใช้ ได้
อย่ างสะดวกและเป็ นระบบ ใน PHP มีฟังก์ ชั่นอยู่ 2
ชนิด ดังนี้
ฟังก์ ชั่นที่ PHP จัดเตรียมไว้ ให้
 ฟังก์ ชั่นทีผ
่ ้ ูเขียนโปรแกรมสร้ างขึน้ มาใช้ เองเรียกว่ า
User-defined functions

ฟังก์ ชั่นที่ PHP จัดเตรียมให้ :
ฟังก์ ชั่นเกีย่ วกับสตริง

ฟังก์ ชั่น addslashed()


ใช้ เพิม่ เครื่องหมาย backslash(\) ให้ กบั อักษรพิเศษ 3 ตัว คือ double
quote ("), single quote (') และ backslash (\)
ฟังก์ ชั่น chr() และ ord()
chr() จะใช้ ส่งตัวอักษรตามค่าแอสกีท้ รี่ ะบุกลับมา เช่ น chr(65) จะได้
ตัวอักษร A กลับมา
 ord() จะใช้ ส่งลาดับแอสกีข
้ องตัวอักษรกลับมา เช่ น ord(“A”) จะได้ ค่า
65 กลับมา


ฟังก์ ชั่น crypt()

ใช้ เข้ ารหัสข้ อความ
ตัวอย่ าง
<html>
<head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$str = "Is your name O'reilly?";
// Outputs: Is your name O\'reilly?
echo addslashes($str) . "<br />";
echo chr(65) . "<br />";
echo ord("A") . "<br />";
?>
</body>
</html>
ex10_01.php
ตัวอย่ าง
<html>
ex10_02.php
<head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$myname = "สมโภชน์ ";
for ($i=1; $i<=3; $i++) {
echo "ครัง้ ที่ $i : " . crypt($myname) . "<br />\n";
}
?>
</body>
</html>
ฟังก์ ชั่นที่ PHP จัดเตรียมให้ :
ฟังก์ ชั่นเกีย่ วกับสตริง

ฟังก์ ชั่น md5()

ใช้ เข้ ารหัสข้ อความด้ วยวิธี Message-Digest Algorithm
ของ RSA Data Security, Inc. ฟังก์ ชั่นนีม้ แี บบแผนใน
การเข้ ารหัสทีแ่ น่ นอน โดยผลลัพธ์ ทไี่ ด้ จะเป็ นสตริงทีม่ ี
ความยาว 32 ตัวอักษร
ตัวอย่ าง
<html>
<head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$myname = "สมโภชน์ ";
for ($i=1; $i<=3; $i++) {
echo "ครัง้ ที่ $i : " . md5($myname) . "<br />\n";
}
?>
</body>
</html>
ex10_03.php
ฟังก์ ชั่นที่ PHP จัดเตรียมให้ :
ฟังก์ ชั่นเกีย่ วกับสตริง

ฟังก์ ชั่น explode() และ implode()

explode() ใช้ แบ่ งข้ อความออกเป็ นส่ วนย่ อย ๆ โดยขึน้ อยู่
กับตัวแยก (delimeter) ทีก่ าหนด และส่ งผลลัพธ์ กลับมา
เป็ นอาร์ เรย์ ทมี่ ขี ้ อความย่ อย ๆ เหล่ านั้นเป็ นสมาชิก


รู ปแบบ explode (สั ญลักษณ์ ที่ใช้ แยก, ข้ อความ)
implode() ใช้ นาข้ อมูลจากอาร์ เรย์ มาประกอบกันเป็ น
ข้ อมูลชนิดสตริงตัวเดียว (ทาตรงข้ ามกับ explode())

รู ปแบบ implode (สั ญลักษณ์ ที่ใช้ คนั่ , อาร์ เรย์ )
ตัวอย่ าง
ex10_04.php
<html><head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head><body>
<?php
$mystr = "นาย เด็ดเดีย่ ว ดวงดี webmaster";
//ใช้ชอ
่ งว่างเป็ นตัวแยกข้อความ
$a = explode(" ", $mystr);
for ($i=0; $i<count($a); $i++) {
echo "สมาชิกของอาร์เรย์ทม
ี่ ีอน
ิ เด็กซ์ $i: " . $a[$i] . "<br />\n";
}
?>
</body></html>
ตัวอย่ าง
ex10_05.php
<html>
<head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$a = array("นาย", "เด็ดเดีย่ ว", "ดวงดี", "webmaster");
$mystr = implode("+", $a);
echo $mystr;
?>
</body>
</html>
ฟังก์ ชั่นที่ PHP จัดเตรียมให้ :
ฟังก์ ชั่นเกีย่ วกับสตริง

ฟังก์ ชั่น htmlspecialchars() และ nl2br()
htmlspecialchars() เป็ นฟังก์ ชั่นที่ใช้ เปลีย่ นตัวอักษรซึ่ง
มีความหมายพิเศษต่ อเว็บบราวเซอร์ เช่ น < , > ,& ,",'
ให้ อยู่ในรู ปแบบทีเ่ ว็บบราวเซอร์ สามารถแสดงผลได้ อย่ าง
ถูกต้ อง เช่ น > จะถูกเปลีย่ นเป็ น &gt; เป็ นต้ น
 nl2br() ใช้ แทรกแท็ก <br> หรื อแท็ก <br /> (แท็ก
<br /> เป็ นแท็กตามมาตรฐาน XHTML)

ตัวอย่ าง
ex10_06.php
<html>
<head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$mystr = "<font color=red><b>ข้อความทดสอบ</b></font>";
echo "1: $mystr<br />\n";
echo "2: " . htmlspecialchars($mystr);
echo nl2br("\n Bye bye");
?>
</body>
</html>
ฟังก์ ชั่นที่ PHP จัดเตรียมให้ :
ฟังก์ ชั่นเกีย่ วกับสตริง

ฟังก์ ชั่น strcmp()
ใช้ เปรียบเทียบสตริง 2 ชุด โดยให้ ความสาคัญกับตัวอักษรพิมพ์
ใหญ่ -เล็กของภาษาอังกฤษ (Case sensitive)
 รู ปแบบ
strcmp (สตริง 1, สตริง 2)
ค่ าที่ฟังก์ ชั่น strcmp() ส่ งคืนมาให้ มีดงั นี้
- ค่ าลบ (น้ อยกว่ า 0) แสดงว่ าสตริงชุดแรกน้ อยกว่ า
- ค่ าบวก (มากกว่ า 0) แสดงว่ าสตริงชุดที่ 1 มากกว่ า
- 0 แสดงว่ าสตริงชุดที่ 1 เท่ ากับสตริงชุดที่ 2

ตัวอย่ าง
ex10_07.php
<html>
<head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$str1 = "123";
$str2 = "123";
echo strcmp($str1, $str2);
?>
</body>
</html>
ฟังก์ ชั่นที่ PHP จัดเตรียมให้ :
ฟังก์ ชั่นเกีย่ วกับสตริง

ฟังก์ ชั่น strlen() และ strrev()
strlen() ใช้ นับจานวนตัวอักษรในสตริง (ความยาวของ
สตริง)
 strrev() ใช้ กลับลาดับของตัวอักษรในสตริ ง

ตัวอย่ าง
ex10_08.php
<html>
<head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$mystr = "คนไทย This is a book.";
echo "จานวนตัวอักษร = " . strlen($mystr) . "<br />\n";
echo "reversed string : " . strrev($mystr);
?>
</body>
</html>
ฟังก์ ชั่นที่ PHP จัดเตรียมให้ :
ฟังก์ ชั่นเกีย่ วกับสตริง

ฟังก์ชั่น substr()
ใช้ ดงึ ข้ อความส่ วนทีต่ ้ องการออกมาจากข้ อความที่
กาหนด
 รู ปแบบ
substring (สตริง, จุดเริ่มต้ น, ความยาว)

ตัวอย่ าง
ex10_09.php
<html><head>
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$mystr = "คนไทย";
for ($i=1; $i<=strlen($mystr); $i++) {
echo substr($mystr, 0, $i) . "<br />\n";
}
?>
</body></html>
ฟังก์ ชั่นที่ PHP จัดเตรียมให้ :
ฟังก์ ชั่นเกีย่ วกับสตริง

ฟังก์ชั่น trim(), ltrim(), rtrim
trim() ใช้ ตัด whitespace (ตัวอักษรทีไ่ ม่ มหี น้ าตา เช่ น
ช่ องว่ าง, แท็บ, ตัวอักษรขึน้ บรรทัดใหม่ เป็ นต้ น) ทาง
ด้ านหน้ าและด้ านหลังของข้ อความออกไป
 ltrim() ใช้ ตด
ั whitespace เฉพาะทางด้ านหน้ าของ
ข้ อความ
 rtrim() ใช้ ตด
ั whitespace เฉพาะทางด้ านหลังของ
ข้ อความ

ตัวอย่ าง
<html><head>
ex10_10.php
<title>การใช้ฟงั ก์ช่น
ั สตริง</title>
</head>
<body>
<?php
$mystr = " ประเทศไทย ";
echo "\$mystr มีความยาว " . strlen($mystr) . " ตัวอักษร<br />\n";
$lmystr = ltrim($mystr);
echo "\$lmystr มีความยาว " . strlen($lmystr) . " ตัวอักษร<br />\n";
$rmystr = rtrim($mystr);
echo "\$rmystr มีความยาว " . strlen($rmystr) . " ตัวอักษร<br />\n";
$absmystr = trim($mystr);
echo "\$absmystr มีความยาว " . strlen($absmystr) . " ตัวอักษร<br />\n";
?>
</body></html>