วันเสาร์ที่ 10 พฤศจิกายน พ.ศ. 2555

PHP - การใช้ MySQL


ในภาษา PHP มี function ที่เกี่ยวข้องกับ MySQL โดยตรง รายละเอียดของแต่ละ function นั้น มีดังนี้

1. mysql_close

ใช้เมื่อต้องการยกเลิกการติดต่อกับ MySQL โดยจะมีรูปแบบดังนี้

int mysql_close(int [link_identifier]);

โดย  function  นี้ต้องการ  argument  หนึ่งตังคือ  link  ldentifier   ซึ่งจะได้จากคำสั่ง mysql_connect และ ถ้าสามารถยกเลิกได้สำเร็จ function นี้จะ return ค่า TURE ออก ถ้ายกเลิกไม่สำเร็จ จะ return ค่า FALSE

2. mysql_connect

ใช้เมื่อต้องการเชื่อมต่อสู่ MySQL โดยจะมีรูปแบบคำสั่งดังนี้

int mysql_connect(string [hostname] [:port], string [username] ,string [password]);

function นี้ต้องการ argument 3 ตัว ที่เกี่ยวข้องกับการเชื่อมต่อกับ MySQL คือ hostname คือ ชื่อเครื่องที่มี MySQL ทำงานอยู่ (MySQL Server) ซึ่งเราต้องการเชื่อมต่อด้วย port คือหมายเลขของ port ที่ให้บริการ MySQL บนเครื่อง MySQL Server ซึ่งจะใส่หรือไม่ใส่ก็ได้  ถ้าไม่ใส่  ก็จะใช้ค่ามาตรฐาน
username คือ ชื่อผู้ใช้ที่มีสิทธิ์ใช้ MySQL
password คือ รหัสผ่านสำหรับผู้ใช้คนนั้น
ถ้าทำการเชื่อมต่อได้ function นี้จะ return ค่า link ldentifier ออกมา (เพื่อนำไปใช้ในการจัดการกับฐานข้อมูล MySQL ต่อไป) แต่ถ้าเชื่อมต่อไม่ได้  ก็จะ return ค่า FALSE ออกมา

ตัวอย่าง
// create connection
$connection = mysql_connect("servername","username","password");

// test connection
if (!$connection) {
echo "Couldn't make a connection!";
exit;
}

3. mysql_create-db

  ใช้เมื่อต้องการสร้าง Database ใหม่ขึ้นมา มีรูปแบบคือ

                             int mysql_create_db(string database name, int [link_identifier]);

  โดยต้องการ argument คือ ชื่อ Database ที่ต้องงการสร้างขึ้นมาใหม่  และ Link Identifier ของ MySQL ที่ ต้องการสร้าง database

4. mysql_db_query

  ใช้เมื่อต้องการส่ง SQL message ไปยัง MySQL เพื่อ query ข้อมูล มีรูปแบบคือ

                             int mysql_db_query(string database, string query, int [link_identifier]);

  มี argument คือ ชื่อ Database ที่ต้องการ query, SQL message ที่ใช้ในการ query และ Link Identifier ของ MySQL ที่มี Database นั้นอยู่ ในกรณีที่ query เป็นผลสำเร็จก็จะ Return ค่าเป็น result Identifier ที่ใช้ไปยัง result set ที่เก็บผลการทำงาน ออกมา  แต่ถ้า query ไม่สำเร็จ ก็จะ return FALSE ออกมา

5. mysql_drop_db

              ใช้ในกรณีที่ต้องการลบ Database ทิ้งจาก MySQL มีรูปแบบคือ

                             int mysql_drop_db(string database_name, int [link_identifier]);

  โดยมี  argument คือ ขื่อ Database ที่ต้องการลบ และ Link Identifier ของ MySQL ที่ต้องการติดต่อได้ ถ้าลบได้สำเร็จ  ก็จะ Retrun  TRUE  ออกมา  ถ้าลบไม่สำเร็จ  ก็จะ return FALSE ออกมา

6. mysql_errno

  แสดง error number ของคำสั่งก่อนหน้าที่ มีรูปแบบคือ

                             int mysql_errno(int [link_identifier]);

7. musql_error

         แสดง error message ของ คำสั่งก่อนหน้านี้ มีรูปแบบคือ

                             string mysql_error(int [link_identifier]);

8. mysql_fetch_array

              อ่านข้อมูลผลลัพธ์ในรูปของ Associative Array มีรูปแบบคือ

                             array myssql_fetch_array(int result, int [result_type]);

  ต้องการ argument คือ ชื่อ result  identifier และ ค่า  result type ในกรณีที่มีผลลัพธ์ที่ต้องการ ก็จะ return ค่า  array  ของผลลัพธ์ออกมา  ซึ่งสามารถดึงค่าข้อมูลออกมาได้  โดยอาศัย field name นั่นเอง  ในกรณีที่เกิดปัญหา  ก็จะ return  FALSE  ออกมาแทน

9. mysql_fetch_length

  ใช้ในการดูขนาดของข้อมูลที่ใหญ่ที่สุดของผลลัพธ์แต่ละตัว ใน result set มีรูปแบบคือ

                             array mysql_fetch_length(int result);

  โดยจะ return ค่า array ของ ขนาดข้อมูลในแต่ละ field ของ row สุดท้ายที่ ถูก fetch ออกมา หรือไม่ ค่า FALSE  ถ้าเกิดปัญหาขึ้น

10. mysql_fetch_row

  ดึงข้อมูลออกมาหนึ่ง row จาก result set ในรูปของ array มีรูปแบบคือ

                            array mysql_fetch_row(int result);

  ต้องการ argument คือ result  identifier และ return ค่า array ที่เก็บข้อมูลของ row แรก (ถ้าเรียก mysqll_fetch_row อีกครั้ง ก็จะเป็นการเรียก row ถัดๆ  ไปเรื่อยๆ)  ออกมา หรือ retrun FALE ถ้าเกิดปัญหาขึ้น array ที่เก็บข้อมูลนั้น เป็น Scalar Array ซึ่งจะอ้างอิงข้อมูลเรียงลำดับตาม field และมี Index เริ่มต้นเป็น 0

11. mysql_field_name

  อ่านชื่อของ field จาก result set มีรูปแบบคือ

                             string mysql_field_name(int result, int field_index);
 
  เมื่อ argument คือ result identifier และ field index ที่ต้องการอ่านชื่อออกมา

12. mysql_field_table

  อ่านชื่อ table จาก result set ที่ field ที่กำหนด อยู่ด้านในมีรูปแบบคือ

                             string mysql_field_table(int result, int field_offset);

  เมื่อ argument คือ result identifier และ field offset ของ table ที่ต้องการอ่านชื่อออกมา

13. mysql_field_type

  อ่านชนิดของ field จาก result set ตามที่ต้องการ มีรูปแบบคือ

                             string mysql_field_type(int result, int field_offset);

  ต้องการ argument คือ result identifier และ field offset ที่ต้องการหาชนิด

14. mysql_field_len

  อ่านความยาของ field จาก result set ตามที่ต้องการ มีรูปแบบ คือ

                            string mysql_field_len(int result, int field_offset );

  ต้องการ argument คือ result identifier และ field offset ที่ต้องการหาความยาว

15. mysql_ free_result

  ลบ result set ทิ้ง มีรูปแบบคือ

                            int mysql_free_result(int result);

  ต้องการ argument คือ result identifier ของ result set ที่ต้องการลบทิ้ง  ซึ่งการลบ result set  ที่ไม่ต้องการใช้ทิ้งนั้น  จะช่วยประหยัด memory  ของระบบได้มาก

16. mysql_list_fileds

  แสดงรายชื่อ field ของ Table ใน Database ที่ต้องการออกมา มีรูปแบบคือ

                            int mysql_list_fields(string database_name, string table_name, int[link_identifer]);

  ต้องการ argument คือ ชื่อ Database  และ ชื่อ Table ที่ต้องการแสดง Field ออกมา โดยจะ
return ค่า result identifier ของ result set ออกมา ซึ่งต้องเอาไปใช้กับ function ในกลุ่ม mysql_field_*() ทั้งหลาย

17. mysql_list_dbs

  แสดงรายการของ Database ใน MySQL ที่ติดต่อด้วย มีรูปแบบคือ

                            int mysql_list_dbs(int [link_identifier]);

  มี argrment คือ Link Identifier และจะ return  ค่า result identifier ออกมา  และต้องใช้ function  mysql_tablename() เพื่ออ่านค่าใน result set นี้ออกมา

18. mysql_listK_tables

  แสดงรายการของ Tables ของ Database ใน MySQL ที่ติดต่อด้วย มีรูปแบบคือ

                             int mysql_list_tables(string database, int [link_identifier]);

  มี argument คือ Link Identifier และ Database name และ จะ return ค่า result identifier ออกมา และต้องใช้ function mysql_tablename() เพื่ออ่านค่าใน result set นี้ออกมา

19. mysql_num_fields

  อ่านจำนวน fields จาก result set มีรูปแบบคือ

                             int mysql_num_fields(int result);

  โดย function นี้ จะ return ค่า จำนวน fields ใน result set ที่ชี้โดย result identifier ที่กำหนดให้ออกมา

20. mysql_num_rows

  อ่านจำนวน rows จาก result set มีรูปแบบคือ

                            int mysql_num_rows(int result);

  โดย function นี้จะ return ค่าจำนวน rows ใน result set ที่ชี้โดย result identifier ที่กำหนดให้ออกมา

21. mysql_query

  ส่ง SQL Query Message ไปยัง MySQL มีรูปแบบคือ

                            int mysql_query(string query, int [link_identifier]);

  โดย function นี้จะ return TRUE เมื่อ Query เป็นผลสำเร็จ สำหรับกรณีที่ Query  Message เป็นแบบ UPDATE, INSERT หรือ DELETE หรือ Result Set สำหรับ Query  Message แบบ SELECT

22. mysql_result

  อ่านข้อมูลใน field ที่ต้องการ  ออกจาก result set มีรูปแบบคือ

                             int mysql_result(int result, int row, mixed field);
 
  ต้องการ qrgument คือ result identifier, row และ field offset หรือว่า field name หรือว่า
field table.field name หรือว่า aliased ของ  field นั้น ก็ได้

23. mysql_select_db

  เลือก Databse ใน MySQL มีรูปแบบคือ

                            int mysql_select_db(string database_name, int [link_identifier]);

  โดย argument คือ ชื่อ Database ที่ต้องการเลือก และ Link Identifier โดยจะ return TRUE ถ้าเลือกได้ สำเร็จ และ FALSE เมื่อเกิด Error

ตัวอย่างใช้งาน PHP ติดต่อกับฐานข้อมูลของ MySQL

วิธีที่1

<?php

// create connection
$connection = mysql_connect("servername","username","password");

// test connection
if (!$connectiion) {
echo "Couldn't make a connection!";
exit;
}

// select database named "myDB"
$db = mysql_select_db("myDB", $connection);

// test selection
if (!$db) {
echo "couldn't select database!";
exit;
}

// create SQL statement
$sql = "SELECT COFFEE_NAME, ROAST_TYPE, QUANTITY
FROM COOEE_INVENTORY
ORDER BY QUANTITY DESC";

// execute SQL query and get result
$sql_result = mysql_query($sql, $connection);

// start results formatiion
echo "<TABLE BORDER=1>";
echo "<TR><TH>Coffee Naem</TH><TH>Roast Type</TH><TH>Quantity</TH>";

// format results by row
while ($row = mysql_fetch_array($sql_result)) {
$coffee_name = $row["COFFEE_NAME"];
$roast_type = $row["ROAST_TYPE"];
$quantity = $row["QUANTITY"];
echo "<TR><TD>$coffee_name</TD><TD>$roast_type</TD><TD>$quantity</TD></TD>";
}

echo "</TABLE>";

// free resources and close connectiion
mysql_free_result($sql_result);
mysql_close($connection);
?>


วิธี 2
<?
include("mydb.inc");
mysql_connect(localhost,$user,$password);

$databse = "mydb";
@mysql_select_db("$database") or die("Unable to select database");

/*Search database for name*/
$table="contact";

$query="select * from $table group by name";

$result=mysql_query($query);

mysql_close();

/*Display Results*/

$num=mysql_numrows($result);

$i=0;
while($i < $num) {
   
    $name=mysql_result($result,$i,"name");
    $email=mysql_result($result,$i,"email");
    $ext=mysql_result($result,$i,"extension");
    $nick=mysql_result($result,$i,"nick");
    $id=mysql_result($result,$i,"id");

     //Alternate row colors in our table
     print ($i % 2) ? "<tr bgcolor=\"D7DEFF\">" : "<tr bgcolor =\"C2CCFF\">";

     print "<td align=middle><b>$name</b></td><td align=middle><$email</b></td>";
     print "<td align=middle><b>$ext</b></td><td align=middle><b>$nick</b></td>";
     print "<td align=middle><a
href='update_db.phtml?id=$id'><b>Update</b> </a></td></tr>";

     ++$i;
}
?>




PHP - ฟังก์ชั่นที่ใช้จัดการไฟล์


1. file_exists

ใช้ตรวจสอบไฟล์ที่ต้องทราบว่ามีอยู่แล้วไม่ ซึ่งหากมีอยู่จะ return ค่าเป็นจริง หากไม่มี return ค่าเป็นเท็จ มีรูปแบบคือ

Int file_exists(string  filename);

2. fileatime แสดงเวลาการแข้ไข file ครั้งสุดท้าย มีรูปแบบ คือ

Int fileatime(string filename);

3. filesize แสดงขนาดของ file มีหน่วยเป็น byte

Int filesize (string filename)

4. file

อ่านข้อความทั้งหมดใน file มาเก็บไว้ใน array ซึ่งแต่ละสมาชิกใน  array จะถูกแทนด้วยข้อความแต่ละบรรทัดใน file มีรูปแบบคือ

Array file(string filename)

5. fopen เปิด File หรือ URL มีรูปแบบ คือ

int fopen(string filename, string mode)

file จะถูกเปิดจาก filesystem และจะมีการ retrun file pointer กลับมา  หากไม่สามารถเปิด file ได้ function จะ return เท็จ mode ทั้งหมด  มีดังนี้

'r' เปิดเพื่ออ่านอย่างเดียว, file pointer ชี้ไปยังตำแหน่งเริ่มต้นของ file
'r+' เปิดเพื่ออ่านและเขียน, file pointer ชี้ไปยังตำแหน่งเริ่มต้นของ file
'w' เปิดเพื่อเขียนอย่างเดียว, file pointer ชี้ไปยังตำแหน่งเริ่มต้นของ file และทำการลบข้อมูลใน file ทั้งหมด หาก file ไม่มีอยู่จริง จะพยายามสร้าง file ใหม่ขึ้นมา
'w+' เปิดเพื่ออ่านและเขียน, file pointer ชี้ไปยังตำแหน่งเริ่มต้นของ file และทำการลบข้อมูลใน file ทั้งหมด หาก file ไม่มีอยู่จริง  จะพยายามสร้าง file ใหม่ขึ้นมา
'a' เปิดเพื่อเขียนอย่างเดียว, file pointer ชี้ไปยังตำแหน่งสุดท้ายของ file (EOF:end of file) หาก file ไม่มีอยู่จริง จะพยายามสร้าง file ใหม่ขึ้นมา
'a+' เปิดเพื่ออ่านและเขียน, file pointer ชี้ไปยังตำแหน่งสุดท้ายของ file (EOF:end of file) หาก file ใหม่ขึ้นมา

ตัวอย่าง

$fp = fopen("/home/rasmus/file.txt","r");
$fp = fopen("/http://www.php.net/","r");
$fp = fopen("/ftp://user:password@example.com/","w");

6. fclose ปิด file pointer ที่เปิดอยู่ ซึ่งจะ return ค่าเป็นจริงหากสามารถเปิด file pointer ได้

int fclose(int fp)

7. fgetc

retrun ตัวอักษรครั้งละ 1 ตัว จากตำแหน่งที่ file ชี้อยู่  หาก file pointer ชี้ที่ EOF จะ reutrn ค่าเป็นเท็จ

string fgetc(int fp)

8. fgets

return ตัวอักษรครั้งละ length-1 bytes ที่อ่านจากตำแหน่งที่ file pointer ชี้อยู่  ซึ่งการอ่านตัวอักษรอาจสิ้นสุดลง
หาก PHP สามารถอ่านได้  length-1 หรือ file pointer ชี้ไปยัง new file หรือ EOF รูปแบบคือ
string fgets(ing fp, int length)

ตัวอย่าง

$fd = fopen("/tmp/inputfile.txt","r");
while ($buffer = fgets($fd, 4096)) {
echo $buffer;
}
fclose($fd); 

9. fread

อ่านข้อความใน file ซึ่งการอ่านจะสิ้นสุดหาก PHP สามารถอ่านได้ตาม length (ความยาว) ที่กำหนด หรือ file pointer ชี้ไปยัง EOF มีรูปแบบคือ

string fread(int fp, string length)

ตัวอย่าง

$filename = "/usr/local/something.txt"
$fd = fopen($filename, "r");
$contents = fread($fd, filesize($filename));
fclose($fd);

10. fwrite เขียนข้อความลง file มีรูปแบบคือ

int fwrite(int fp, string string,int[length])






PHP - Date/Time Function


1. checkdate

  สำหรับตรวจสอบ วัน เดือน ปี ที่กำหนดว่าอยู่ในช่วงหรือไม่  จะอยู่ในช่วงก็จะ return ค่า 1 กลับ มีรูปแบบคือ

Int checkdate (int month, int date, int year).

2. Date

จะแสดงค่าวันที่เวลาตามที่กำหนดตาม formal ไป ส่วน timestamp จะเอาไว้สำหรับแสดงเวลาของสถานที่ต่าง ๆ  บนโลก  ถ้าไม่กำหนดจะแสดง locatime มีรูปแบบคือ

String date(string format, int timestamp)

Format string ใช้สำหรับแสดงเวลาแบบต่าง ๆ

U – seconds since the epoch
  Y – year, numeric, 4 digits
y -  year, numeric, 2 digits
F – month, textual, long; i.e. “January”
M – month, textual, 3 letters; i.e. “Jan”
m - month, unmeric
  z – day of the year, numeric
l (lowercase ‘L’) – day of the week, textual, long; i.e. “Friday”
D – day of the week, textual, 3 letters; i.e. “Fri”
      w - day of the week, numeric, 1 digit
H – hour, numeric, 24 hour format
h - hour, numeric, 12 hour format
i - minutes, numeric
  s - seconds, uumeric
  A – “AM” or “PM”
  a - “am”or”pm”
S – English ordinal suffix, textual, 2 characters; i.e. “th”, “nd”

ตัวอย่าง
                            Print(date(“I dS of F Y h:I:s A”));

จะได้ Saturday  12 th February 2000 01:15:23 AM

3. mktime

แสดงวินาที่นับตั้งแต่เวลาของ UNIX Epoch(January 1, 1970) จนถึงวันที่กำหนด มีรูปแบบ

Int mktime(int hour, int minute, int second, int month, int day, int year);

4. time

แสดงวินาที่ที่นับตั้งแต่เวลาของ UNIX Epoch(January 1, 1970). มีรูปแบบคือ

Int time()

5. Set_time_limit

กำหนดเวลาที่ script ทำงานอยู่ เช่น set_time_limit(30) หลังจากนั้น scripts ก็จะ fatal error มีรูปแบบคือ

Void set_time_limit (int seconds);




PHP - Array Function

Array Function มีดังต่อไปนี้

1. array ใช้สำหรับสร้าง array

รูปแบบคือ   Array array(….);

  ตัวอย่าง

$a=array(1,2,3,4,5);
echo $a[1];  //แสดงค่า array ตำแหน่งที่ 1 จะได้ ‘2’

2. arsort ใช้สำหรับเรียงลำดับ array แบบถอยหลัง

รูปแบบคือ Void arsort (array array);

  ตัวอย่าง

$friuts = array(1=>”lemon”,2=>”orange”,3=>”banano”,4=>”apple”);
arsort($fruits);
for(reset($fruits); $key = key($fruits); next($fruits)){
echo “fruits[$key] = “.$fruits[$key].”\n”;
}

  จะได้

fruits[2] = orange fruits[1] = lemon fruits[3] = banana fruits[4] = apple

3. asort ใช้สำหรับเรียงลำดับ array แบบเรียงลำดับ

รูปแบบ คือ Void asort (array array);

ตัวอย่าง

$fruits = array(1 => “emon”,2=>”orange”,3=>”banana”,4=>”apple”);
arsort($fruits);
for(reset($fruits); $key = key($fruits); next($fruits)) {
echo “fruits[$key] = “.$fruits[$key].”\n”;
}

จะได้

  fruits[4] = apple fruits[3] = banana fruits[1] = lemon fruits[2] = orange

4. current

ในแต่ละ array จะมีคล้าย ๆ  กับ pointer เราเรียกว่า internal pointer ที่ใช้สำหรับชี้ค่าปัจจุบันที่ชี้อยู่ ซึ่ง current() จะทำหน้าที่แสดงค่าปัจจุบันออกมา

รูปแบบคือ Mixed current (array array):

mixed หมายถึง return ค่าได้หลายประเภท ใช้ร่วมกันกับ ฟังก์ชั่น end(), prev(), next(), reset()

ตัวอย่าง

$fruits = arrayf(1=>”lemon”, 2=>”orange”,3=>”banano”,4=>”apple”);
end($fruits);
echo current($fruits);

จะได้ผลเป็น apple ออกมา นั้นแสดงว่า internal pointer เลื่อนไปอยู่ที่ตำแหน่งสุดท้ายแล้ว

5. end() ใช้สำหรับ เลื่อน internal  pointer ไปตำแหน่งสุดท้าย

รูปแบบคือ Mixed end (array array)

6. next() ใช้สำหรับ เลื่อน internal pointer ไปตำแหน่งถัดไปจากตำแหน่งปัจจุบัน

รูปแบบคือ Mixed next(array array)

7. prev() ใช้สำหรับ เลื่อน  internal pointer ไปตำแหน่งก่อนหน้าตำแหน่งปัจจุบัน

รูปแบบคือ Mixed prev(array array)

8. reset() ใช้สำหรับ reset ค่า internal pointer ให้ไปอยู่ตำแหน่งแรก

รูปแบบคือ Reset(array array)

9. sizeof() ใช้สำหรับ แสดงจำนวน element ทั้งหมดที่มีอยู่ใน array

รูปแบบคือ Int zizeof(array array)




PHP - String Function

String Function ใน PHP ก็คือ zero indexed array of character  ซึ่งหมายความว่า ตัวอักษรตัวแรกของ string อยู่ที่ตำแหน่งที่ 0  ของ array นั่นเอง ซึ่ง ทุก string function จะใช้ตำแหน่งที่ 0 เป็น index ของ ตัวอักษรตัวแรก

1. AddSlashes ใช้สำหรับเพิ่มอักษร “/” เอาไว้ข้างหน้าตัวอักษรเพื่อที่จะได้เอาไว้อ้างอิงเวลาที่จะต้องการแยก String
รูปแบบคือ String AddSlashes(string str);

2. Chop ทำการตัดช่องว่างข้างหลังตัวอักษร
รูปแบบคือ String Chop(string)

3. Chr แสดงค่าตัวอักษรตามรหัส ascii
รูปแบบคือ String chr(int ascii)

4. echo แสดงผลที่หน้าจอทุก ๆ  parameter
รูปแบบคือ String echo(string agr1, …)

5. explode ทำการแบ่งสตริง ด้วย สตริงที่กำหนดให้
รูปแบบคือ Array  explode(string separator, string string);
  ตัวอย่าง
$pizza=”piece1 piece2 piece3”;
$piece=explode(“ “,$pizza);

6. implode สำหรับเชื่อม array ให้เป็น string โดยที่มีตัวเชื่อมคือ string glue
รูปแบบคือ String implode(array piece, string glue);
ตัวอย่าง
$a=array(1, 2, 3, 4);
echo implode($a, “:”);
จะได้
1:2:3:4

7. print พิมพ์ output string คล้ายๆ กับ echo(string arg….);
รูปแบบคือ Print(string agr);

8. strchr ค้นหาอักษรหรือคำที่ต้องการ
รูปแบบคือ String strchr(string tofind, string toneed)
ตัวอย่าง
echo (strchr(“I am a boy”, “am”));

9. strcmp ทำการเปรียบเทียบ sting ทั้งสอง
รูปแบบคือ  Int strcmp(string str1, string str2);
ตัวอย่าง
0 – str1 = str2
1 – str1 > str2
-1 – str1 < str2

10. strlen แสดงความยาวของ string
รูปแบบคือ  Int strlen (string str1)

11. strrpos แสดงตำแหน่งของตัวอักษรที่หาโดยที่ตัวอักษรตัวนั้นเป็นตัวสุดท้ายในประโยค
รูปแบบคือ  String strrpos(string haystack, char needle);
ตัวอย่างการใช้งาน
echo (strrpos(“I am a boy”,”a”));
  จะได้
5

12. strops แสดงตำแหน่งของตัวอักษรที่หาได้เป็นตัวแรกในประโยค
รูปแบบคือ String strpos(string haystack, char needle);
ตัวอย่าง
echo (strrrpos(“I am a boy”,”a”));
จะได้
3

13. strstr ค้นหาคำที่ต้องการใน string
รูปแบบคือ String strst(string haystack, string needle)
ตัวอย่าง
echo (strstr(“I am a boy”,”am”));
จะได้
am a boy

14. strtolower ทำการเปลี่ยนตัวอักษรให้เป็นตัวเล็กทั้งหมด
รูปแบบคือ string strtolower(string str1)

15. strtoupper ทำการเปลี่ยนตัวอักษรให้เป็นตัวใหญ่ทั้งหมด
รูปแบบคือ string strtoupper(string str1)

16. substr ทำการส่งค่าอักษรที่กำหนดให้
รูปแบบคือ String substr (string string, int start, int length);
ตัวอย่าง
echo (substr(“I am a boy”,2,4));
จะได้
am a



วันศุกร์ที่ 9 พฤศจิกายน พ.ศ. 2555

PHP - String

        String เป็นข้อมูลชนิดข้อความ การกำหนดค่าสตริงจะใช้เครื่องหมาย quotes ( ‘ หรือ “ ) การสร้าง string จะต้องขึ้นต้นและปิดท้ายด้วยเครื่องหมายที่เหมือนกัน

        หากต้องการแทรกเครื่องหมาย quotes ใน string ต้องใช้เครื่องหมาย backslash (\) นำหน้า เพื่อบอก PHP ว่า quotes เป็นเพียงส่วนหนึ่งของ string ซึ่งการใช้เครื่องหมาย backslash ในการแทรกเครื่องหมาย quotes ลงในไป string นั้นทำให้ backslash กลายเป็นเครื่องหมายพิเศษ ซึ่งหากต้องการแทรกลงใน string ก็ต้องใช้เครื่องหมาย backslash นำหน้าเช่นกัน ตัวอย่างคือ

        $file = “c:\windows\system.int”;      //ค่าที่เก็บอยู่ในตัวแปร $file คือ c:windowssystem.ini
        $file = “c:\\windows\\syostem.ini”;     //ค่าที่เก็บอยู่ในตัวแปร $file คือ c:\windows\system.ini

ยังมีตัวอักขระกลุ่มหนึ่งเช่นกัน ที่ใช้บ่อย เป็นตัวอักขระพิเศษ ดังนี้

        \n       ใช้ขึ้นบรรทัดใหม่
        \\       Backslash
        \$       เครื่องหมาย Dollar
        \”       เครื่องหมาย "

การใช้ตัวแปรใน String

        String ที่อยู่ในเครื่องหมาย " และ ' นั้นแตกต่างกัน คือ " จะถูกตีความ ในขณะที่ ' จะไม่มีการตีความใดๆ ทั้งสิ้น ดังตัวอย่างต่อไปนี้

        $foo = 2;     จะได้ foo is 2
        echo “foo is $foo”;     จะได้ foo is $foo
        echo “foo is $foo\n”;     จะได้ foo is 2 (พร้อมกับการขึ้นบรรทัดใหม่)
        echo 'foo is $foo\n';     จะได้ foo is $foo\n

การใช้อักขระพิเศษใน ' สามารถใช้ได้เพียงแค่  \\  และ \’ เท่านั้น



PHP - Control Statement

        เป็นคำสั่งที่ทำหน้าที่ควบคุมการทำงานของแต่ละ statement ในโปรแกรม โดยปกติแล้ว statement จะถูกประมวลผลตามลำดับจากบรรทัดแรกจนถึงบรรทัดสุดท้าย Control statement  ถูกสร้างขึ้นมาเพื่อใช้ควบคุมและเปลี่ยนแปลงลำดับของการประมวลผล statement เหล่านี้ เช่นอาจให้มีการประมวลผลบาง statement ในบางกรณีเท่านั้น

Control Statement ทั้งหมดใน PHP มีดังนี้

1. IF

        ตรวจสอบเงื่อนไขการทำงาน ซึ่งโครงสร้างของ if ก็เป็นเช่นเดียวกับภาษา C คือ

        if (condition expression)
           statement

        โดยถ้าเงื่อนไขใน expression เป็นจริง ก็จะเข้าไปทำคำสั่งใน statement ถ้าไม่เป็นจริง ก็จะไม่ทำคำสั่งใน statement ซึ่ง statement อาจจะเป็นคำสั่งเพียงคำสั่งเดียว หรือว่า เป็นชุดคำสั่งก็ได้ ถ้าเป็นชุดคำสั่ง ก็ต้องมี วงเล็บปีกกา คร่อม ชุดคำสั่งนั้นด้วย ดังตัวอย่าง

        if ($a > $b)
           echo “ a is bigger than b”;

        if ($b > $c) {
           echo “b is bigger than c”;
           $c = $b;
        }

ELSE

        ในกรณีที่ต้องการให้มีทางเลือกมากกว่าหนึ่งทาง โดยถ้าเงื่อนไขเป็นจริง ก็ให้ทำทางเลือกหนึ่ง ถ้าไม่เป็นจริงก็ให้ทำอีกทางเลือกหนึ่ง สามารถทำได้โดยใช้ else เข้ามาช่วยใน if ดังนี้

        if (expression)
           true-statement;
        else
           false-statement;

ELSEIF

        เป็นการนำเอา else มารวมกับ if โดยเมื่อ เงื่อนไขแรกไม่เป็นจริง และต้องมาทำคำสั่งใน else ก็จะทำการตรวจสอบเงื่อนไขใน if ที่อยู่กับ else ทันที ซึ่งจะมีรูปแบบดังนี้

        If (expression–1)
           statement-1;
        elseif (expression-2)
           statement-2;
        else
           statement-3;

        การใช้ elseif นั้น จะใช้ซ้อนกันกี่ชั้นก็ได้ ซึ่งการตรวจสอบเงื่อนไข ก็จะทำไล่มาเรื่อย ๆ

2. WHILE

        เป็นคำสั่งที่ทำให้เกิดการทำงานวนรอบ โดยจะตรวจสอบเงื่อนไขการทำงานว่าเป็นจริงหรือไม่ ถ้าเป็นจริง ก็จะวนทำชุดคำสั่งที่กำหนดไว้ไปเรื่อย ๆ จนกว่าเงื่อนไขการทำงานจะเป็นเท็จ โครงสร้างของ while เป็นดังนี้

        while (expression)
           statement

        ตัวอย่าง
           $i = 1;
           while ($i <= 10) {
              print $i;
              $i++;
           }

3. DO…WHILE

        do ..while จะคล้ายๆ กับ while แต่จะต่างกันตรงที่ว่า while นั้น จะตรวจสอบเงื่อนไขก่อนเข้าไปทำงาน แต่ว่า do..while จะทำงานก่อนแล้วค่อยตรวจสอบเงื่อนไข มีรูปแบบดังนี้

        do
           statement
        while (expression)

4. FOR

        for จะถูกใช้งานต่างกับ while ตรงที่ว่าไม่ได้เป็นการตรวจสอบเงื่อนไข แต่ใช้จำนวนครั้งในการทำงานเป็นการกำหนดการทำงานแทน มีโครงสร้างดังนี้

        for (expr1; expr2; expr3)
          statement;

        โดย expr1 จะถูกเรียกมาทำงาน เมื่อ for เริ่มทำงาน และจะทำงานแค่ครั้งเดียว และทุกครั้งก่อนที่เกิด loop ก็จะทำการตรวจสอบเงื่อนไขใน expr2 ว่าเป็นจริงหรือไม่ ถ้าเป็นจริง ก็จะเข้าไปทำคำสั่งใน statement แต่ถ้าไม่เป็นจริง ก็จะออกจากการทำงานใน for ไป และหลังจากทำงานใน statement เสร็จแล้ว ก็จะมาทำงานใน expr3 ก่อนที่จะไปตรวจสอบเงื่อนไขใน expr2 อีกครั้ง

5. BREAK

        ใช้หยุดการทำงานใน loop while, do..while และ for โดยที่ไม่ต้องทำการตรวจสอบเงื่อนไขของ loop เหล่านั้น ดูตัวอย่าง

        $I = 0;
        while ( $i < 10) {
           if ($arr[$i] == “stop”) {
           break;
           }
           $i++;
        }

ไม่ว่าค่า  $i จะเป็นค่าเท่าไหร่ ถ้าข้อมูลใน array $arr[] เป็น stop เมื่อไหร่ ก็จะหยุดทำงานใน loop ทันที

6. CONTINUE

        จะคล้ายๆ กับ break นั่นคือ จะหยุดการทำงานใน loop ปัจจุบันเอาไว้ก่อน แต่จะต่างจาก break ตรงที่ว่า continue จะกลับไปเริ่มต้นทำงานใหม่ ที่ต้นของ loop แทนที่จะออกจาก loop ไปเลย

7. SWITCH

        จะทำการตรวจสอบเงื่อนไข ที่ไม่เฉพาะ ถูกและผิด ได้ ซึ่งจะทำงานคล้ายๆ กับชุดของ if / elseif นั่นเอง ต่างกันตรงที่ว่า switch จะเป็นการกำหนดตำแหน่งที่จะทำงานมากกว่าจะกำหนดชุดคำสั่งที่จะทำงาน มีรูปแบบดังนี้

        switch (expression) {
           case expr1 :
           ...
           case expr2 :
           ...
           …


        ตัวอย่าง

        switch($I) {
           case 0 :
              echo “$i equals 0”;
              break;
           case 2 :
              echo “$i equals 2”;
              break;
        }

8. REQUIRE

        จะแทนที่ตัวเองด้วยคำสั่งที่อยู่ใน file ที่กำหนดไว้ ซึ่ง require จะทำงานเพียงแค่ครั้งเดียว เมื่อโปรแกรมถูก load เท่านั้น

9. INCLUDE

        จะคล้ายกับ require แต่จะต่างกันตรงที่ว่า include จะทำงานเมื่อถูกเรียก ไม่ใช่ทำงานเมื่อโปรแกรมถูก load ดังนั้น file ที่ include อาจจะเปลี่ยนไปเรื่อยๆ ได้ (เช่น การใส่ include ไว้ใน loop ต่างๆ ) แต่ว่า file ที่ require จะเป็นได้แค่ file เดียวที่กำหนดไว้ตอนแรก

10. FUNCTION

        เป็นการรวมชุดคำสั่งต่างๆ ไว้ด้วยกัน เพื่อให้สะดวกต่อการเรียกใช้ โดยจะมีโครงสร้างดังนี้

        Function foo ($arg_1, $arg_2, …., $arg_n) {
           Echo “Example function.\n”;
           Return $retval;
        }

        มีส่วนประกอบดังนี้

        Function Name
           เป็นชื่อที่จะถูกใช้ในการอ้างอิงถึง function นั้น

        Arguments ($arg)
           คือค่าข้อมูลที่ส่งให้กับ function เพื่อใช้ในการประมวลผล

        Return Value
           คือค่าผลลัพธ์ที่ได้จากการทำงาน ซึ่ง function จะคืนย้อนกลับออกมา