1 / 51

Array in PHP

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

kelsey-lamb
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 เสรี ชิโนดม seree@buu.ac.th

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

  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> PHP Programming

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

  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>"; } ?> PHP Programming

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

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

  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] "; } ?> PHP Programming

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

  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>"; } ?> PHP Programming

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

  12. <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. PHP Programming

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

  14. การใช้อะเรย์หลายมิติ (ต่อ) $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"; } PHP Programming

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

  16. อะเรย์แบบคู่ (ต่อ) • สมมุติว่า "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"; PHP Programming

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

  18. ตัวอย่าง <? $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]"); ?> PHP Programming

  19. ตัวอย่าง • จากตัวอย่าง 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"); ?> PHP Programming

  20. เราสามารถสร้างอะเรย์แบบเชื่อมโยงเป็นสองมิติได้ เช่น <? $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"; ?> PHP Programming

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

  22. ตัวอย่าง 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 PHP Programming

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

  24. ฟังก์ชันที่เกี่ยวกับอะเรย์ฟังก์ชันที่เกี่ยวกับอะเรย์

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

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

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

  28. ตัวอย่าง <? $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) ); ?> PHP Programming

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

  30. ตัวอย่าง <? $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) ); ?> PHP Programming

  31. ฟังก์ชัน 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>"; ?> PHP Programming

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  48. ตัวอย่าง $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 PHP Programming

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

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

More Related