วันอังคารที่ 16 ธันวาคม พ.ศ. 2557

รูปแบบคำสั่ง Sql

คำสั่งพื้นฐาน 
select *  from employee ;
select emp_no , emp_name , emp_lname
from employee ;
คำสั่งแบบมีเงื่อนไข (condition)
Condition  หรือ เงื่อนไข หมายถึงการระบุความต้องการ มีรูปแบบการเขียนดังนี้คือ  <field>  <operator>  < value >
Filed คือ Filed ใดๆที่อยู่ในรายชื่อ Table อยู่ในคำสั่ง From
Operator คือคำสั่งในการปฏิบัติการ เช่น = , > , < , != , is null
Value ค่าที่ใช้เป็นเงื่อนไข หากเป็นตัวเลขสามารถระบุได้เลย หากเป็นตัวอักษรต้องมีการใส่  "  ก่อนและหลังค่าที่เป็นเงื่อนไข
 Select * from work 
  Where proj_num = 15 ;  (เลือกข้อมูลการทำงานโครงการ 15)
Select * from work 
  Where hours  > 3 ;  (เลือกข้อมูลการทำงานที่มากกว่า 3 ชั่วโมง)
Select * from employee
  where job = "Programmer; (เลือกพนักงานที่เป็น Programmer)
คำสั่งแบบหลายเงื่อนไข
select * from work
where proj_num  = 15   and hours  > 3 ;

(เลือกพนักงานที่ทำงานโครงการ 15 และทำงานมากกว่า 

ชั่วโมง : ต้องอยู่โครงการ 15)
select * from work

where proj_num  = 15  or hours  > 3 ;

(เลือกพนักงานที่ทำงานโครงการ 15 หรือทำงานมากกว่า 

3 ชั่วโมง 

: อาจทำงานอยู่โครงการอื่น) 


คำสั่งที่มีการใช้งานหลายตาราง (join)
Select  employee.emp_num , emp_name , hours
From    employee , work
Where  employee.emp_num = work.emp_num  ;
( แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงาน
 เนื่องจาก  ชื่อพนักงาน อยู่คนละตารางกับ ข้อมูลชั่วโมงทำงาน
 จึงต้องมีการ join ตารางที่มีข้อมูลเข้าด้วยกัน)
คำสั่งที่มีการเรียงลำดับ
Select  employee.emp_num , emp_name , proj_num,hours
From    employee , work
Where  employee.emp_num = work.emp_num
Order by employee.emp_num ;
(แสดงข้อมูลรหัสพนักงาน ชื่อพนักงาน และชั่วโมงทำงาน
เรียงลำดับข้อมูล ตามรหัสพนักงาน)
การใช้ Operator : like
 Select * from employee
where emp_name like “A%” ;
(แสดงข้อมูล พนักงานที่ชื่อขึ้นต้นด้วยอักษร A )
Select * from employee
where emp_name like “%A%” ;
(แสดงข้อมูล พนักงานที่ชื่อมีอักษร A )
การใช้ Operator : in
select *  from employee
where deptno in ( “Programmer” , “System Analyst”) ;
(แสดงข้อมูลพนักงานที่เป็นโปรแกรมเมอร์หรือ นักวิเคราะห์ระบบ)
select *  from work
where proj_num in ( 15 , 22 ) ;
(แสดงข้อมูลการทำงานโครงการ 15 หรือ โครงการ 22 )
การทำงานเชิงนิเสธ
select *   from  work
where proj_num not in ( 15 ,  22) ;
(แสดงข้อมูลการทำงาที่ไม่ใช่ โปรเจ็ค 15 และ 22)
select *   from employee
where job != “Programmer”  ;
(แสดงข้อมูลการทำงานของพนักงานที่ไม่ใช่ Programmer)
การทำงานแบบ sub query
select  *   from work
where emp_num  deptno in ( select emp_num  from employee 
                                           where job = “Programmer”) ;
(แสดงข้อมูลการทำงานของผู้ที่ทำงานหน้าที่ Programmer – ที่อาจมีหลายคน)
select  *   from work
where proj_num = ( select proj_num from project
            where proj_name = “โรงงานแกลงการยาง” );
(แสดงข้อมูลการทำงานของผู้ที่งานในโครงการ โรงงานแกลงการยางค์ มีโครงการเดียวแน่นอน)

การทำงานแบบรวม (Aggregate function)
select  job , count(*) 
from employee  group by job ;
(นับจำนวนพนักงานจัดกลุ่มตามอาชีพ)
select  emp_num ,  sum(work_hours
from  work   group by emp_num ;
(รวมชั่วโมงทำงาน จัดกลุ่มตามรหัสพนักงาน)
select  proj_num , min(work_hours) , max(work_hours)  
from work
group by proj_num ;
(แสดงชั่วโมงทำงานน้อยที่สุด และมากที่สุด ชองแต่ละโครงการ)
select  job, count(*)   from employee
group by job having count(*) > 2 ;
(นับจำนวนพนักงาน จัดกลุ่มตามอาชีพ เฉพาะที่มีพนักงานมากกว่า 3 คน)
select  emp_num ,  sum(work_hours)  from  work
group by emp_num having sum(work_hours) > 20;
(รวมชั่วโมงทำงาน จัดกลุ่มตามรหัสพนักงาน เฉพาะที่มีชั่วโมงการทำงานรวมมากกว่า 20 ชั่วโมง)

รูปแบบคำสั่งที่มีการคำนวณ
Select  employee.emp_num , proj_num,
     chg_hours , work_hours  ,   
     chg_hours * work_hours
From employee , work
Where employee.emp_num = work.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้)
รูปแบบคำสั่งที่มีการเปลี่ยนชื่อการแสดงผล
Select  employee.emp_num , proj_num,
     chg_hours , work_hours  ,   
     chg_hours * work_hours  pay
From employee , work
Where employee.emp_num = work.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้ แสดงคอลัมน์ค่าตอบแทนคือ pay )
รูปแบบคำสั่งที่มีการเปลี่ยนชื่อตาราง
Select  e.emp_num , proj_num,
     chg_hours , work_hours  ,   
     chg_hours * work_hours  
From employee e, work  w
Where e.emp_num = w.emp_num ;
(แสดงข้อมูลการทำงานของพนักงานแต่ละคนในแต่ละโครงการ และค่าตอบแทนที่ได้)
สรุปรูปแบบคำสั่ง
Select  …..
From …..
Where …..  and (or) …..
Group by ….  ( Having ….)
Order by ….







กลุ่มของคำสั่งในภาษา SQL – DCL

Data Control Language (DCL)

nGrant , Revoke

UPDATE , DELETE , ALTER

GRANT SELECT , INSERT ,

  ON   demo  TO  user02;

REVOKE ALL PRIVILEGES ON demo


  FROM  user02 ;

กลุ่มของคำสั่งในภาษา SQL – DML

Data Manipulation Language ( DML)   
เป็นกลุ่มคำสั่งที่ใช้ในการเข้าถึงข้อมูล แบ่งเป็น 2 กลุ่มหลักๆคือnกลุ่มที่ใช้ในการแสดงผลข้อมูล ได้แก่ คำสั่ง Select
nกลุ่มที่ใช้ในการปรับปรุงเนื้อหาข้อมูล ได้แก่คำสั่ง  Insert , Update , Delete 
ตัวอย่างการใช้ภาษา SQL แบบ DML
DELETE  FROM project where proj_num = 16 ;   

INSERT INTO project ( proj_num, proj_name)

VALUES  (16, “Burapha") ;

SELECT  *  FROM project  WHERE  proj_num = 16 ;

UPDATE  Project  set proj_name = "Burapha Chant.“

WHERE  proj_num = 16 ;

กลุ่มของคำสั่งในภาษา SQL – DDL

Data Definition Language (DDL)
  เป็นกลุ่มคำสั่งที่ใช้ในการกำหนดโครงสร้างต่างๆในระบบจัดการฐานข้อมูล
  ตัวอย่างของคำสั่งได้แก่  Create , Alter , Drop
ตัวอย่างการใช้ภาษา SQL แบบ DDL
CREATE TABLE project01  (  proj_num varchar(2)   NOT NULL,
      proj_name varchar(20) NOT NULL  ) ;
ALTER TABLE project01 ADD
     proj_status  VARCHAR( 5 ) NOT NULL ;
DROP TABLE project01  ;
CREATE USER  user01 IDENTIFIED BY  "1234"  ;

DROP USER  user01 ;

ข้อสอบO-net วิชาคอมพิวเตอร์

O-NET ม. 6 (คอมพิวเตอร์)

1.ข้อใดไม่ใช่ระบบปฏิบัติการที่นำมาใช้บนอุปกรณ์พกพา
ประเภท  Smartphone.
      1.  Ubumtu       2.  Iphone  os
      3.  Android      4.  Symbian
เฉลยข้อ  1


2.ไฟล์ประเภทใดในข้อต่อไปนี้เก็บข้อมูลในลักษณะตัวอักษร.
     1.  ไฟล์เพลง  MP 3 (mp 3)
     2.  ไฟล์รูปประเภท  JPEG (jpeg)
     3.  ไฟล์แสดงผลหน้าเว็บ (html)
     4.  ไฟล์วีดีโอประเภท  Movie (movie)
เฉลยข้อ  3


3.ลิขสิทธิ์โปรแกรมประเภทรหัสเปิด(Open Source)อนุญาตให้ผู้ใช้ทำอะไรได้บ้าง.
  ก.  นำโปรแกรมมาใช้งานโดยไม่ต้องเสียค่าลิขสิทธิ์
  ข.  ทดลองใช้โปรแกรมก่อนถ้าพอใจจึงจ่ายค่าลิขสิทธิ์
  ค.  แก้ไขปรับปรุงโปรแกรมเองได้


1.  ข้อ  ก กับ  ข้อ  ค      2.  ข้อ  ข  กับ  ข้อ  ค
3.  ข้อ  ข  อย่างเดียว     4.  ข้อ  ก  อย่างเดียว
เฉลยข้อ  4

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

ในการออกแบบฐานข้อมูลดังกล่าวข้อใดกล่าวได้ถูกต้อง.
      1.  ต้องสร้างตารางผู้ใช้ ตารางกระทู้และตารางคำตอบ
      2.  ไม่ต้องสร้างตารางผู้ใช้เนื่องจากสามารถบันทึกชื่อ
      ผู้ใช้ในตารางกระทู้และตารางคำตอบได้เลย
      3.  ต้องสร้างตารางผู้ใช้และตารางกระทู้ส่วนคำตอบจะอยู่
     ในตารางกระทู้อยู่แล้ว
      4.  ไม่ต้องสร้างตารางกระทู้เพราะสามารถบันทึกกระทู้ที่ผู้ใช้
     ตั้งในตารางผู้ใช้ได้เลย
เฉลยข้อ  4


5.ข้อใดเป้นการปฏิบัติที่ถูกต้องตามหลักวิชาการเมื่อค้นคว้า
หาข้อมูลจากอินเทอร์เนตมาทำรายงาน.
      1.  คัดลอกเนื้อหาจากเว็บไซต์
      2.  ใช้เนื้อหาจากกระดานสนทนา(Web board)มาใส่ในรายงาน
      3.  นำรูปภาพจากเว็บไซต์มาใส่ในรายงาน
      4.  อ้างอิงชื่อผู้เขียนบทความ
เฉลยข้อ  4


6.ห้องสมุดแห่งหนึ่งต้องการพัมนาระบบยืมหนังสือโดยสามารถ
บันทึกข้อมูลการยืมหนังสือลงบนบัตรอิเลคโทรนิกส์โดยไม่ต้อง
เขียนด้วยมือระบบนี้ควรใช้เทคโนโลยีในข้อใด.
      1.  Smart  Card          2.  Fingerprint
      3.  Barcode                 4.  WiFi
เฉลยข้อ  3


7.ผู้ประกอบอาชีพเป็นผู้พัฒนาเว็บไซต์ต้องเชี่ยวชาญความรู้
ด้านใดบ้างจากตัวเลือกต่อไปนี้.
    ก.  ฮาร์แวร์คอมพิวเตอร์       ข.  ระบบปฎิบัติการ
    ค.  เว็บเซิร์ฟเวอร์                   ง.  HTML
    จ.  ระบบฐานข้อมูล                ฉ.  ภาษาจาวา(Java)


1.  ข้อ  ก และ ค                    2.  ข้อ  ข  และ  จ
3.  ข้อ  ค  และ  ง                   4.  ข้อ  ค  และ  ฉ
เฉลยข้อ  3


8.ข้อใดเป็นเทคโนโลยีการเชื่อมต่อข้อมูลไร้สายทั้งหมด.
      1.  Wi-Fi  ,  IP              2.  Wi-Fi  ,Bluetooth
      3.  3G  ADSL                4.  3G    Ethernet
เฉลยข้อ  2


9.ข้อใดไม่ใช่ข้อเสียของการละเมิดลิขสิทธิ์ซอฟต์แวร์.
      1.  การทำผิดกฏหมายลิขสิทธิ์มีความผิดทางอาญา
      2.  เป็นช่องทางหนึ่งในการระบาดของไวรัสคอมพิวเตอร์
      3.  ผู้ใช้จะไม่ได้รับการบริการจากผู้พัมนาถ้าหากมีปัญหาการใช้งาน
      4.  ทำให้ผู้พัมนาซอฟแวร์ไม่มีรายได้เพื่อประกอบการและพัฒนาต่อไปได้
เฉลยข้อ  2


10.ข้อใดต่อไปนี้ถูกต้องที่สุด.
      1.  การบันทึกข้อมูลลงแผ่นดีวีดีใช้เทคโนโลยีแบบแม่เหล็ก
      2.  หมายเลขไอพีเป็นหมายเลขที่ใช้กำกับ  Network Interce Card
      3.  หน่วยความจำสำรองเป็นหน่วยความจำที่มีคุณลักษณะแบบ Volntile
      4.  รหัส ACIIและEBCIDICเป็นการวางรหัสตัวอักษรที่ใช้ขนาด  8 บิด
เฉลยข้อ  3 


11.ข้อใดเป็นบริการส่งจดหมายอิเล็กทรอนิคส์ผ่านสายโทรศัพท์.
      1. E- mail    
      2. Web  Site   
      3. Search  engine
      4. Face  book
เฉลยข้อ  1  เป็นการส่งจดหมายอิเลคทรอนิค

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

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

ฟังก์ชัน sort
• เป็นฟังก์ชันที่ใช้ในการเรียงลำดับรายการข้อมูลในอะเรย์โดยจัดเรียงข้อมูลจากค่าน้อยไป
หาค่ามาก
File: lab4-19.php
<?php
$sort = array(50,40,30,35);
sort($sort);
for($r = 0; $r < count($sort);$r++){
echo "$sort[$r] <br>";
}
?>

ฟังก์ชัน asort
• เป็นฟังก์ชันที่ใช้ในการเรียงลำดับรายการข้อมูลในอะเรย์แบบคู่ โดยจัดเรียงข้อมูลของ
Value จากค่าน้อยไปหาค่ามาก
File: lab4-20.php
<?php
$keep_age = array(
“Joe" => 15 ,
“Game" => 18 ,
“Off" => 30 ,
“Champ" => 16 );
asort($keep_age );
foreach ($keep_age as $key => $value) {
echo "$key = $value <br>\n";
}
?>

ฟังก์ชัน ksort
• เป็นฟังก์ชันที่ใช้ในการเรียงลำดับรายการข้อมูลในอะเรย์แบบคู่ โดยจัดเรียงข้อมูลของ Key
จากค่าน้อยไปหาค่ามาก
File: lab4-21.php
<?php
$keep_age = array(
“Joe" => 15 ,
“Game" => 18 ,
“Off" => 30 ,
“Champ" => 16 );
ksort($keep_age );
foreach ($keep_age as $key => $value) {
echo "$key = $value <br>\n";
}
?>

ฟังก์ชัน max ใช้ในการหาค่า maximum ของ Value ใน Array
ฟังก์ชัน min ใช้ในการหาค่า minimum ของ Value ใน Array
ฟังก์ชัน count ใช้ในการนับจำนวน Array ว่ามีทัง้ หมดเท่าไหร่
File: lab4-22.php
<?php
$arr = array( 51,6,7,4,3,2,10,3,70 );
echo max( $arr) ,"<br>";
echo min( $arr) ,"<br>";
echo count( $arr) ,"<br>";
?>


 ฟังก์ชัน current ใช้ดึง Value ของ Array ที่ Pointer ชีอ้ ยู่ หากเป็นการ Initialize Array
ตัว Pointer จะอยู่ที่ Array 0
ฟังก์ชัน next ใช้เลื่อน Pointer ใน Array ไปข้างหน้าจำนวน 1 ช่อง
ฟังก์ชัน prev ใช้เลื่อน Pointer ใน Array ถอยหลังจำนวน 1 ช่อง
File: lab4-23.php
<?php
$arr = array( 51,6,7,4,3,2,10,3,70 );
echo current($arr) ,"<br>";
next ($arr);
echo current($arr) ,"<br>";
prev ($arr);
echo current($arr) ,"<br>";
?>

ฟังก์ชัน each ใช้ดึงค่าของ Array ที่ Pointer ชีอ้ ยู่ แล้วเลื่อน Pointer ใน Array ไปจำนวน
1 ช่อง ค่าที่ดึงออกมาจะเป็น Array เช่นกัน
File: lab4-24.php
<?php
$arr = array( 51,6,7,4,3,2,10,3,70 );
$myarr = each($arr);
echo $myarr['key'] . " => " . $myarr['value'] . "<br>";
$myarr = each( $arr);
echo $myarr[0] . " => " . $myarr[1] . "<br>";
?>

ฟังก์ชัน end ใช้เลื่อน Pointer ใน Array ไปลำดับสุดท้าย
File: lab4-25.php
<?php
$arr = array( 51,6,7,4,3,2,10,3,70 );
echo current($arr) ,"<br>";
end($arr);
echo current($arr) ,"<br>";
?>


ฟังก์ชัน key ใช้ดึง Key ของ Array ที่ Pointer ชีอ้ ยู่
File: lab4-26.php
<?php
$arr = array("code" => "123", "name" => "ABC" );
echo key ($arr) ,"<br>";
next($arr);
echo key ($arr) ,"<br>";
?>
 
ฟังก์ชัน reset เป็นคำสั่งให้เริ่มต้น Pointer ใหม่
File: lab4-27.php
<?php
$arr = array(10,20,30,40,50);
echo current($arr) ,"<br>";
next($arr);
echo current($arr) ,"<br>";
reset($arr);
echo current($arr) ,"<br>";
?>

 ฟังก์ชัน list ใช้ในการรับค่าที่อ่านมาได้จากอะเรย์โดยจำนวนของตัวแปร (var1,var2,…)
ที่ตัง้ รับในคำสั่งนีขึ้น้ อยู่กับขนาดอะเรย์ที่ส่งค่ามาให้ว่าอะเรย์นัน้ ส่งค่าข้อมูลมาให้จำนวนกี่
ค่า
File: lab4-28.php
<?php
$arr = array("A"=>10,"B"=>20,"C"=>30);
while ( list($key,$data) = each($arr) ) {
echo "$key => $data<br>";
}
?>

ฟังก์ชัน print_r ใช้ในการแสดงค่าใน Array ทัง้ หมด
File: lab4-29.php
<?php
$arr = array("A"=>10,"B"=>20,"C"=>30);
print_r($arr);
?>
File: lab4-30.php
<?php
echo "\$_SERVER<br>";
print_r($_SERVER);
?>

อะเรย์ (Array)

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

File: lab4-7.php
<html>
<body>
<?php
$arr[0] = "Red";
$arr[1] = "Green";
$arr[2] = "Blue";
$arr[3] = "White";
echo " $arr[0] , $arr[1] ,$arr[2] ,$arr[3] ";
?>
</body>
</html>


• ข้อมูลแต่ละตัวในอะเรย์ไม่จำเป็น ต้องเป็นข้อมูลชนิดเดียวกัน เช่น อาจจะมีทั้งจำนวนเต็ม เลขทศนิยม ตัวอักษร

File: lab4-8.php
<?php
$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 อะเรย์ที่มีขนาดเปลี่ยนแปลงได้เรียกว่า dynamic array
หรือ vector(สำหรับอะเรย์มิติเดียว)


• ไม่จำเป็นต้องประกาศตัวแปร


• ค่าของอะเรย์จะ ถูกกำหนดให้ตอนที่ โปรแกรมทำงาน (Run time)


File: lab4-9.php
<?php
$myarray[]=3;
$myarray[]=1.1;
$myarray[]="abc";
$all = count( $myarray);
for ($i=0; $i < $all; $i++){
print "Member $i = $myarray[$i] <BR>";
}



• การสร้างอะเรย์โดยใช้ฟังก์ชัน array และการเปรียบเทียบการใช้ For และ Foreach
File: lab4-10.php
<?php
$myarray = array( 5,6,7, 20,31,440,”PHP”,”GNA” );
$all = count( $myarray);
for ($i=0; $i < $all; $i++){
print "Member $i = $myarray[$i] <BR>";
}
foreach ($myarray as $myvalue) {
print "$myvalue <BR>";
}
?>



• การสร้างอะเรย์โดยใช้ฟังก์ชัน array range(int low, int high)
File: lab4-11.php
<?php
$arr = range( 5,10);
$all = count( $arr );
for ($i=0; $i<$all; $i++){
echo "arr[" .$i. "] = ";
echo $arr[$i] . "<BR>" ;
}
?>



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




• จากตัวอย่างที่แล้ว หากเราต้องการแสดงข้อความให้ถูกต้อง จำเป็นต้อง Convert Special
Character ก่อนการ Display HTML โดยใช้ Function htmlspecialchars
File: lab4-13.php
<?php
$des = file("lab4-6.php");
$count_des = count($des);
if($count_des==0) {
echo htmlspecialchars("ไม่มีข้อมูลใน File <br>");
}
for ($i=0; $i<$count_des; $i++) {
echo htmlspecialchars($des[$i]) . "<br>";
}
?>



• การใช้อะเรย์หลายมิติ(Multidimensional Array)
• กำหนดชื่อตัวแปรแล้วตามด้วยเครื่อง [..][..] สำหรับอะเรย์สองมิติและ [..][..][..]
สำหรับอะเรย์สามมิติ
$arr_2[1][1] = 4000; //$arr_2 เป็นอะเรย์สองมิติ
$arr_3[1][1][1] = 2000; //$arr_3 เป็นอะเรย์สามมิติ
อะเรย์ (Array)
File: lab4-14.php
<?php
$dim = 4;
for ($row=0; $row <= $dim; $row++) {
for($column = 0; $column <= $dim; $column++) {
$myarray[$row][$column] = 4 * $row * $column;
echo "4 x $row x $column = " . $myarray[$row][$column] . "<br>";
}
echo "<br>";
}
?>



• อะเรย์แบบคู่ (Key/Value)
• การเก็บข้อมูลในอะเรย์แบบนีจ้ ะใช้กับข้อมูลที่จัดเก็บเป็นคู่ ๆ
File: lab4-15.php
<?php
$keep_age = array(
“Joe" => 15 ,
“Game" => 18 ,
“Off" => 30 ,
“Champ" => 16 );
$name =key($keep_age);
$age =current($keep_age);
print ("Age of <u>$name</u> is $age");
?>




• อะเรย์แบบคู่ (Key/Value) ประเภท 2 มิติ
File: lab4-16.php
<?php
$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";
?>


ถ้าเราต้องการจะเข้าถึงข้อมูลแต่ละคู่ที่ถูกเก็บอยู่ในอะเรย์แบบคู่ จะใช้วิธีเรียกผ่าน
ฟังก์ชัน each() และ list()
File: lab4-17.php
<?php
$test = array( "a" => 10, "b" => 20, "c" => 30 );
while (list($key, $value) = each($test)) {
echo "$key = $value <br>\n";
}
?>



• จะเข้าถึงข้อมูลแต่ละคู่ที่ถูกเก็บอยู่ในอะเรย์แบบคู่สามารถทำได้อีกวิธีคือการใช้คำสั่ง
foreach
File: lab4-18.php
<?php
$test = array( "a" => 10, "b" => 20, "c" => 30 );
foreach ($test as $key => $value) {
echo "$key = $value <br>\n";
}
?>