1 / 54

Array in PHP

Array in PHP. อะเรย์ (Array). อะเรย์หรือตัวแปรชุด คือ ตัวแปรที่สามารถเก็บค่าได้หลายๆค่า โดยใช้ตัวแปรตัวเดียว สิ่งที่อยู่ภายในอะเรย์เรียกว่าสมาชิก แต่ละสมาชิกในอะเรย์จะมีอินเด็กซ์เพื่อใช้อ้างอิง อินเด็กซ์ใช้อ้างอิงถึงแต่ละสมาชิกที่อยู่ในอะเรย์

Download Presentation

Array in PHP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Array in PHP

  2. อะเรย์ (Array) • อะเรย์หรือตัวแปรชุดคือตัวแปรที่สามารถเก็บค่าได้หลายๆค่า โดยใช้ตัวแปรตัวเดียว • สิ่งที่อยู่ภายในอะเรย์เรียกว่าสมาชิก แต่ละสมาชิกในอะเรย์จะมีอินเด็กซ์เพื่อใช้อ้างอิง • อินเด็กซ์ใช้อ้างอิงถึงแต่ละสมาชิกที่อยู่ในอะเรย์ • ใน PHP อินเด็กซ์จะเริ่มที่ 0 แต่สามารถกำหนดอินเด็กซ์ให้เป็นตัวอักษรได้

  3. ตัวอย่าง <html> <body> <? $arr[0] = "Red"; $arr[1] = "Green"; $arr[2] = "Blue"; $arr[3] = "White"; echo " $arr[0] , $arr[1] ,$arr[2] ,$arr[3] "; ?> </body> </html>

  4. อะเรย์ (Array) • ใน PHP อะเรย์ที่มีขนาดเปลี่ยนแปลงได้เรียกว่า dynamic arrayหรือ vector(สำหรับอะเรย์มิติเดียว) $myarray[]=3; $myarray[]=1.1; $myarray[]="abc"; • ขนาดจะปรับเปลี่ยนได้คือขยายจำนวนข้อมูลที่เก็บอยู่ภายในอะเรย์ • ข้อมูลแต่ละตัวในอะเรย์ไม่จำเป็น ต้องเป็นข้อมูลชนิดเดียวกัน เช่นอาจจะมีทั้งจำนวนเต็ม เลขทศนิยม

  5. ตัวอย่าง <? $arr[0] = "Chair"; $arr[1] = 20; $arr[2] = 3.37; $arr[3] = "A"; $all = count( $arr ); for ($i=0; $i<$all; $i++){ print "Member $i =$arr[$i] <BR>"; } ?>

  6. การสร้างอะเรย์เพื่อนำไปใช้งานการสร้างอะเรย์เพื่อนำไปใช้งาน • ไม่จำเป็นต้องประกาศตัวแปร • ค่าของอะเรย์จะ ถูกกำหนดให้ตอนที่ โปรแกรมทำงาน (Run time) <? $arr[] = "Red"; $arr[] = "Green"; $arr[] = "Blue"; $arr[] = "White"; ?>

  7. การสร้างอะเรย์เพื่อนำไปใช้งานการสร้างอะเรย์เพื่อนำไปใช้งาน <? $arr[10] = 100; $arr[5] = 200; $arr[40] = 300; ?>

  8. การสร้างอะเรย์โดยใช้ฟังก์ชันarrayการสร้างอะเรย์โดยใช้ฟังก์ชันarray • รูปแบบ arrayarray([mixed…]) <? $arr = array( 5,6,7,4,3,2,10,3,440 ); $all = count( $arr ); for ($i=0;$i<$all;$i++){ print "$arr[$i] "; } ?>

  9. ตัวอย่าง $arr=arrray(10,20,30.30,"PHP","PROGRMMING"); for($r=0; $r < count($arr) ; $r++){ echo ("index $r = $arr[$r]<br>"); }

  10. การสร้างอะเรย์โดยใช้ฟังก์ชันrangeการสร้างอะเรย์โดยใช้ฟังก์ชันrange • รูปแบบ arrayrange(int low, int high) • ตัวอย่าง <? $arr = range( 6,10); $all = count( $arr ); for ($i=0;$i<$all;$i++){ echo "arr[" .$i. "] = "; echo $arr[$i] ; echo "<BR>"; } ?>

  11. การนำข้อมูลจาก Text file มาเก็บไว้ใน Array • ข้อมูลที่เก็บในแต่ละบรรทัดคือ ข้อมูลในแต่ละ Element ตย. <? $des=file("text.txt"); $count_des=count($des); if($count_des==0) echo “ไม่มีข้อมูลในFile <br>”; for ($i=0;$i<$count_des;$i++) echo $des[$i].“br>”; ?>

  12. การเข้าถึงข้อมูลในอะเรย์การเข้าถึงข้อมูลในอะเรย์ • การอ้างตำแหน่งของอินเด็กซ์ เช่น $arr[3]="php"; • ใช้ ข้อความสั่ง for เช่น for ($i=0;$i<4;$i++){ echo $arr[$i]."<BR>"; }

  13. <HTML> <HEAD><TITLE>Figure 5-2</TITLE></HEAD> <BODY> <? $Cities[] = "San Francisco"; $Cities[] = "Los Angeles"; $Cities[] = "New York"; $Cities[] = "Martinez"; //count number of elements $indexLimit = count($Cities); // print out every element for($index=0; $index < $indexLimit; $index++) { print("City $index is $Cities[$index]. <BR>\n"); } ?> </BODY> </HTML> City 0 is San Francisco. City 1 is Los Angeles. City 2 is New York. City 3 is Martinez.

  14. การใช้อะเรย์หลายมิติ(Multidimensional Array) • กำหนดชื่อตัวแปรแล้วตามด้วยเครื่อง [..][..] สำหรับอะเรย์สองมิติและ [.. ][.. ] [.. ] สำหรับอะเรย์สามมิติ $arr_2[1][1] =4000; //$arr_2 เป็นอะเรย์สองมิติ $arr_3[1][1][1] = 2000; //$arr_3 เป็นอะเรย์สามมิติ

  15. การใช้อะเรย์หลายมิติ (ต่อ) $dim = 3; for ($row=0; $row <= $dim; $row++) {   for ($column=0; $column <= $dim; $column++) {     $myarray2[$row][$column] = 4*$row + $column;     echo $myarray2[$row][$column]," ";   }   echo "<BR>\n"; }

  16. อะเรย์แบบคู่ • การเก็บข้อมูลในอะเรย์แบบนี้จะใช้กับข้อมูลที่จัดเก็บเป็นคู่ๆ • ใช้ทำ lookuptable

  17. อะเรย์แบบคู่ (ต่อ) • สมมุติว่า "red" ให้แทนค่า 0xff0000  "green" ให้แทนค่า 0x00ff00และ "blue" ให้แทนค่า 0x0000ff โดยเก็บไว้ในอะเรย์ชื่อ $color_table • คำสั่งที่ใช้ $color_table["red"]   = 0xff0000; $color_table["green"] = 0x00ff00; $color_table["blue"]  = 0x0000ff; $color_name= "red"; echo "value = ".$color_table[ $color_name]."<BR>\n";

  18. อะเรย์แบบคู่ (ต่อ) • สร้างอะเรย์แบบคู่ได้โดยใช้ฟังก์ชัน array () • จากตัวอย่างที่แล้วเราสามารถสร้างอะเรย์แบบคู่ได้โดยใช้ฟังก์ชัน array () ดังนี้ $color_table = array(      "red"   => 0xff0000,      "green" => 0x00ff00,      "blue"  => 0x0000ff );

  19. ตัวอย่าง <? $word[a] = "Ant"; $word[b] = "Bat"; $word[c] = "Cat"; $word[d] = "Dog"; print( "$word[d] , $word[a]"); print ("<BR>"); print( "$word[a] , $word[b]"); ?> หรือ <? $word = array( "a" => "Ant" , "b" => "Bat" , "c" => "Cat" , "d" => "Dog" ); print( "$word[d] , $word[c]"); print ("<BR>"); print( "$word[b] , $word[a]"); ?>

  20. ตัวอย่าง • จากตัวอย่าง a,b, c, d จะเรียกว่า key และ Ant, Bat , Cat,Dog จะเรียกว่า Value • การแสดงค่า key และ value ของอะเรย์แบบคู่จะใช้ฟังก์ชันชื่อ key และ value เช่น <? $keep_age = array( "wichai" => 15 , "jira" => 18 , "wittawat" => 30 , "chuchai" => 16 ); $name =key($keep_age); $age =current($keep_age); print ("Age of <u>$name</u> is $age"); ?>

  21. เราสามารถสร้างอะเรย์แบบเชื่อมโยงเป็นสองมิติได้ เช่น <? $countries = array (   "thailand"  => array ( "zone" => "Asia", "D_NAME" => ".th"),   "malasia" => array ( "zone" => "Asia", "D_NAME" => ".my"),   "india"  => array ( "zone" => "Asia", "D_NAME" => ".in"),   "holland“ => array ( "zone" => "Europe", "D_NAME" => ".nl"),   "france" => array ( "zone" => "Europe", "D_NAME" => ".fr")); echo "domain name=".$countries[ "thailand"]["D_NAME"]."<BR>\n"; ?>

  22. การท่องไปในอะเรย์แบบคู่การท่องไปในอะเรย์แบบคู่ • ถ้าเราต้องการจะเข้าถึงข้อมูลแต่ละคู่ที่ถูกเก็บอยู่ในอะเรย์แบบคู่จะใช้วิธีเรียกผ่านฟังก์ชัน each() และ list() • ฟังก์ชัน each()จะท่องไปในอะเรย์และส่งค่ามาให้ฟังก์ชัน list() กำหนดให้กับตัวแปร 2 ตัว

  23. ตัวอย่าง unset($a); $a = array( "a" => 10, "b" => 20, "c" => 30 ); while (list($key, $value) = each($a)) {   echo "$key=$value <BR>\n"; } จะได้ผลลัพธ์ a=10 ,b=20 ,c=30

  24. ตัวอย่าง <? $keep_age = array( "wichai" => 15 , "jira" => 18 , "wittawas" => 30 , "chuchai" => 16 ); while ( list( $name , $age ) = each( $keep_age ) ){ print(" $name = $age<br>"); } ?>

  25. ฟังก์ชันที่เกี่ยวกับArrayฟังก์ชันที่เกี่ยวกับArray

  26. ฟังก์ชัน sort • รูปแบบการใช้งาน void sort (array arr); • เป็นฟังก์ชันที่ใช้ในการเรียงลำดับรายการข้อมูลในอะเรย์นั้นโดยจัดเรียงข้อมูลจากค่าน้อยไปหาค่ามาก

  27. ตัวอย่าง $sort = array(50,40,30,20); sort($sort); for($r = 0; $r < count($sort);$r++){ echo “$sort[$r]<br>”; } 20 30 40 50

  28. ฟังก์ชัน asort • รูปแบบการใช้งาน void asort (array arr); • เป็นฟังก์ชันที่ใช้ในการเรียงลำดับข้อมูลในอะเรย์แบบคู่ โดยจัดเรียงข้อมูลจากค่าValue ที่เก็บไว้จากน้อยไปหาค่ามาก

  29. ตัวอย่าง <? $keep_age = array( "wichai" => 15 , "jira" => 18 , "wittawas" => 30 , "chuchai" => 16 ); asort( $keep_age ); do{ $name = key( $keep_age ); $age = current( $keep_age ); print "age of $name is $age<br>"; }while( next( $keep_age) ); ?>

  30. ฟังก์ชัน ksort • รูปแบบการใช้งาน void ksort (array arr); • เป็นฟังก์ชันที่ใช้ในการเรียงลำดับข้อมูลในอะเรย์แบบคู่ โดยจัดเรียงข้อมูลจากค่าkey ที่เก็บไว้จากน้อยไปหาค่ามาก

  31. ตัวอย่าง <? $keep_age = array( "wichai" => 15 , "jira" => 18 , "wittawas" => 30 , "chuchai" => 16 ); ksort( $keep_age ); do{ $name = key( $keep_age ); $age = current( $keep_age ); print "age of $name is $age<br>"; }while( next( $keep_age) ); ?>

  32. ฟังก์ชัน max, min • รูปแบบการใช้งาน max(array arr); min(array arr); • ฟังก์ชัน max ใช้ในการหาค่าสูงสุดและ min ใช้ในการหาค่าต่ำสุด <? $arr = array( 5,6,7,4,3,2,10,3,440 ); echo max( $arr) ,"<br>"; echo min( $arr) ,"<br>"; ?>

  33. ฟังก์ชัน array รูปแบบการใช้งาน array array(); คำสั่งที่ใช้ในการสร้างอะเรย์โดยเราสามารถกำหนดค่าของดัชนีและค่าของข้อมูลไปพร้อมกับการสร้างอะเรย์ $test1=array(); //สร้างอะเรย์ว่าง $test1

  34. ฟังก์ชัน array_walk • ฟังก์ชัน array_walk • รูปแบบการใช้งาน int array_walk(array arr,string func); • คำสั่งที่ใช้ในการเข้าถึงข้อมูลที่เก็บอยู่ในรูปแบบของอะเรย์โดยต้องการอากิวเมนต์สองตัวคือ 1. อะเรย์ที่ต้องการเข้าถึงข้อมูลที่เก็บไว้ในอะเรย์นั้น 2. ชื่อของฟังก์ชันที่ต้องการเรียกใช้และต้องมีการสร้างฟังก์ชันโดยมีการกำหนดตัวแปรพารามิเตอร์คอยรับค่า

  35. ฟังก์ชัน count • รูปแบบการใช้งาน void count (array arr); • คำสั่งที่ใช้นับจำนวนของข้อมูลที่เก็บอยู่ภายในรายการข้อมูลของอะเรย์นั้นว่ามีจำนวนข้อมูลทั้งหมดเท่าไร

  36. ฟังก์ชัน current • รูปแบบการใช้งาน mixed current(array arr); • เป็นคำสั่งที่ใช้ในการคืนค่าของข้อมูลที่ตำแหน่ง พอยน์เตอร์(pointer)ชี้อยู่(ภายในรายการข้อมูลของอะเรย์จะมี pointer เป็นตัวระบุตำแหน่งปัจจุบันของข้อมูลนั้น)

  37. ตัวอย่าง $sort=array(50,40,30,20); echo current($sort),"br>";//แสดงค่า 50 next($sort);//เลื่อน pointer ไปยังข้อมูลตัวต่อไป echo current($sort);//แสดงค่า 40

  38. ฟังก์ชัน each • รูปแบบการใช้งาน array each (array arr); • คำสั่งที่ใช้ในการอ่านค่าข้อมูลของอะเรย์ทีละตัว เมื่ออ่านแล้ว pointer ที่ชี้ตำแหน่งของข้อมูลก็จะเลื่อนไปยังข้อมูลตัวถัดไป และค่าที่อ่านได้นั้นจะเก็บไว้ในอะเรย์อีกที

  39. ตัวอย่าง $sort = array(5,40,30,20); $get = each($sort); /*ค่าใน $sort มาหนึ่งค่าแล้วเลื่อน pointer ไปยังข้อมูลตัวถัดไปโดย $get จะเป็นตัวแปรอะเรย์ที่รับค่าที่อ่านได้ */ echo “$get[0] => $get[1] <br>”; echo “$get[key] => $get[value]”;

  40. ฟังก์ชัน end • รูปแบบการใช้งาน void end (array arr); • เป็นคำสั่งที่ใช้เลื่อน pointer ที่ชี้ตำแหน่งที่อยู่ของข้อมูลปัจจุบันไปยังตำแน่งที่อยู่สุดท้ายของรายการข้อมูลของอะเรย์นั้น

  41. ตัวอย่าง $sort = array ( 50, 40, 30, 20 ); echo current($sort).”<br>”// แสดงค่า 50 end($sort); // เลื่อน pointer ไปยังข้อมูลตัวสุดท้าย echo current($sort); // แสดงค่า 20

  42. ฟังก์ชัน key • รูปแบบการใช้งานฟังก์ชัน mixed key (array arr); • เป็นคำสั่งที่ใช้ในการตรวจสอบว่าตำแหน่งปัจจุบันอยู่ที่ pointer ชี้ข้อมูลในอะเรย์อยู่นั้นดัชนีของข้อมูลนั้นมีค่าเป็นอะไร

  43. ตัวอย่าง $sort = array (“start”=>50,40,30,”stop”=>20); echo key($sort).”<br>”; // แสดงค่าดัชนีปัจจุบันที่ pointer ชี้อยู่ end($sort); // เลื่อน pointer ไปยังข้อมูลตัวต่อไป echo key($sort); // แสดงค่าดัชนีปัจจุบันที่ pointer ชี้อยู่ Start stop

  44. ฟังก์ชัน list • รูปแบบการใช้งาน void list (var1,var2,…); • คำสั่งที่ใช้ในการรับค่าที่อ่านมาได้จากอะเรย์โดยจำนวนของตัวแปร (var1,var2,…) ที่ตั้งรับในคำสั่งนี้ขึ้นอยู่กับขนาดอะเรย์ที่ส่งค่ามาให้ว่าอะเรย์นั้นส่งค่าข้อมูลมาให้จำนวนกี่ค่า

  45. ตัวอย่าง $arr = array(“A”=>10,”B”=>20,”C”=>30); while (list($key,$data)=each($arr)){ echo “$key =>$data<br>”; } A =>10 B =>20 C =>30

  46. ฟังก์ชันnext • รูปแบบการใช้งาน mixed next(array arr) • เป็นคำสั่งที่ใช้เลื่อน pointer ให้ชี้ไปยังข้อมูลตัวถัดไปในรายการข้อมูลของอะเรย์

  47. ตัวอย่าง $sort = array(50,40,30,20); echo current($sort).:”<br>”; // แสดงค่าข้อมูลปัจจุบัน next($sort); // เลื่อน pointer ไปยังข้อมูลตัวต่อไป echo current($sort); // แสดงค่าข้อมูลหลังจากเลื่อน pointer 50 40

  48. ฟังก์ชัน prev • รูปแบบการใช้งาน mixed prev (array arr) • เป็นคำสั่งที่ใช้เลื่อน pointer ให้ชี้ไปยังข้อมูลตัวก่อนหน้านี้ที่มีการเลื่อน pointer มาในรายการข้อมูลของอะเรย์

  49. ตัวอย่าง $sort = array(50,40,30,20); echo current($sort).”<br>”; // แสดงค่าข้อมูลปัจจุบัน next($sort); // เลื่อน pointer เดินหน้าไปยังข้อมูลตัวต่อไป echo current($sort).”<br>”; // แสดงค่าข้อมูลหลังจากเลื่อน pointer prev($sort); // เลื่อน pointer ถอยหลังไปยังข้อมูลตัวก่อนหน้านี้ echo current($sort); // แสดงค่าข้อมูลหลังจากเลื่อน pointer 50 40 50

  50. ฟังก์ชัน reset • รูปแบบการใช้งาน void reset (array arr) • เป็นคำสั่งที่กำหนดค่าเริ่มต้นของ pointer ใหม่โดยให้มาเริ่มต้นที่ข้อมูลตัวแรกของรายการข้อมูลทั้งหมดไม่ว่าตอนนั้น pointer จะชี้อยู่ที่ข้อมูลใดก็ตาม

More Related