PHP เบื้องต้น > การทำงานกับ Array
สำรวจ Array
array เป็นวิธีการจัดกลุ่มข้อมูลเข้าสู่ตัวแปรเดียว การเก็บข้อมูลมีพื้นที่เพียงพอสำหรับข้อมูลนั้นและเก็บด้วยการเพิ่มตามลำดับดัชนีหรือคีย์ที่เป็นตัวเลขหรือชื่อ ในการตั้งชื่อดัชนีเป็นข้อความได้ ทำให้สามารถเลือกข้อความที่มีความหมายแทนที่ตัวเลข
array ทั่วไป
array ของ PHP
ภาพ 1.4.1 การใช้และการเก็บข้อมูลของ array
การสร้าง Array และการเพิ่มข้อมูล
การสร้าง array ใช้คำสั่ง array การเพิ่มข้อมูลสำหรับ key เจาะจงใช้ => operator (คีย์นี้สามารถเป็นได้ทั้งตัวเลขหรือข้อความ) ถ้าไม่มีการระบุ PHP จะเลือกประเภทตัวเลขที่เริ่มต้นจากศูนย์
<?php
// PHP กำหนดคีย์ให้โดยเริ่มต้นที่ 0
$cars = array("Toyota", "Nissan", "Mazda", "Ford", "Audi", "BMW", "Benz");
// การใช้ชื่อ key
$home = array("size" => 200 , "style" => " กรรณิการ์" ,
" area" => 100 , "numBeds" => 3 , " numBaths" => 2 , "price" => 6000000) ;
?>
ถ้ามีข้อมูลในตัวแปร $car หรือ $home อยู่ก่อนจะถูกเขียนทับ รวมทั้งสามารถสร้าง array โดยการเพิ่มค่าไปยังตัวแปรที่ยังไม่มีการกำหนดได้ ( หรือตัวแปรที่ปัจจุบันยังไม่เป็นประเภทข้อมูล array)
<?php
// การสร้าง array ใหม่ค่าเดียวด้วยคีย์ 0
$productDesc[] = " เสื้อเชิร์ตชาย แขนยาว สีขาว" ;
?>
อีกวิธีในการสร้างคือ การคัดลอกจากอีกตัวแปร
<?php
// การสร้างสำเนาของ $car array รวมทั้งคีย์และค่า
$usedCar = $car;
?>
การเพิ่มข้อมูลไปยัง array ทำได้โดยการระบุคีย์ที่ต้องการให้ข้อมูลปรากฎ ถ้าไม่ระบุ PHP จะกำหนดเป็นเลขจำนวนเต็ม
<?php
// array นี้จะมีค่าเป็น 0 , 1 , 2 และ 3
$noise = array(" ก๊าบ" , " มอ" , " อู๊ด" , " จิ๊บ") ;
$noise[] = " โฮ่ง" ; // ดัชนีหมายเลข 4
$noise[] = " เหมียว" ; // ดัชนีหมายเลข 5
$noise[ 6] = "กระต๊าก" ;
?>
ค่าเพิ่มใหม่จะได้รับการเพิ่มต่อท้าย ตัวนับเลขดัชนีจะได้รับการตั้งค่าเพิ่มขึ้น 1 จากค่าจำนวนเต็มใหญ่ที่สุด
<?php
// หมายเลขไม่ต่อเนื่อง สามารถเพิ่มได้ โดยเป็นการเพิ่มต่อท้าย array
$noise[ 84] = "ฮิ" ;
// หมายเหตุ รายการหมายเลข 11 เพิ่มไปที่ท้าย array ต่อจากรายการที่ 84
$noise[ 11] = "ตับแก" ;
// รายการนี้มีคีย์หรือดัชนีหมายเลข 85
$noise[] = " แบะ" ;
?>
เมื่อแสดงผลด้วยฟังก์ชัน var_dump() จะมีผลลัพธ์ดังนี้
array( 10) { [ 0]= > string( 4) "ก๊าบ"
[1]= > string( 2) "มอ"
[2]= > string( 4) "อู๊ด"
[3]= > string( 17) "จิ๊บ"
[4]= > string( 4) "โฮ่ง"
[5]= > string( 6) "เหมียว"
[6]= > string( 7) "กระต๊าก"
[84]= > string( 2) "ฮิ"
[11]= > string( 5) "ตับแก"
[85]= > string( 3) "แบะ" }
คีย์สามารถเป็นคีย์ข้อความได้เช่นกัน
<?php
// การสร้างดัชนีด้วยข้อความ
$noiseByAnimal[] = array( " duck " => "ก๊าบ" , " cow " => "มอ" , " pig " => "อู๊ด" );
// การเพิ่มคู่ ดัชนี / ค่า
$noiseByAnimal[ " dog " ] = "โฮ่ง" ;
$noiseByAnimal[ " cat " ] = "เหมียว" ;
?>
การเข้าถึงหน่วยข้อมูลใน Array
หน่วยข้อมูลของ array สามารถเข้าถึงโดยการระบุคีย์
<?php
$food = array(" แกงเขียวหวาน" , " มัสมั่น" , " เป็ดย่าง" , " แกงส้ม") ;
echo " ฉันชอบรับประทาน ". $food[ 3] . " <br/>\n";
$computer = array("processor" => "Celeron 2.4 GHz",
" memory" => 256 , "HDD 1" = > 80000 ,
" graphics" => "Le Mel Super 5600 ") ;
echo " คอมพิวเตอร์ของฉันมีโพรเซสเซอร์ คือ " . $computer['processor'] . " <br/>\n";
?>
ตัวแปรสามารถใช้ระบุคีย์ได้
<?php
$x = 0 ;
echo " อาหารพิเศษวันนี้ คือ : " . $food[$x] . "<br/>\n";
?>
คีย์แบบข้อความมีความซับซ้อนเล็กน้อยเมื่อใช้ความสามารถของ PHP ในการวางตัวแปรภายใน double quoted ในสถานการณ์นี้ การเข้าถึงค่ากับตัวเลขและตัวแปรคีย์ไม่มีปัญหา แต่ประเภทข้อความสามารถเกิดขึ้นปัญหาได้
การลบหน่วยข้อมูลและ Array
การลบหน่วยข้อมูล (element) จากตัวแปร array เรียกฟังก์ชัน unset และระบุคีย์ที่ต้องการลบ
<?php
$softdrinks = array("Coke", "Pepsi", "Fanta", "Sprite", " Green Spot", "Seven Up");
unset($softdrinks[ 3]) ; // ลบ " Sprite" จาก array
?>
ใน array ไม่มีดัชนี 3 (Fanta อยู่ที่ดัชนี 2 และ Green Spot อยู่ที่ดัชนี 4) ลบ array ใช้ unset กับตัวแปร
<?php
unset($softdrinks); // $softdrinks ว่าง (unset)
?>
นับจำนวนหน่วยข้อมูลใน Array
การหาจำนวนหน่วยข้อมูลใน array เรียกฟังก์ชัน count ใน PHP สำหรับการหาจำนวนหน่วยข้อมูลใน array ระดับบน
<?php
$softdrinks = array("Coke", "Pepsi", "Fanta", "Sprite", "Green Spot", "Seven Up"); $qty = count($softdrinks);
// แสดงผลเป็น 6
echo "Array \$softdrinks มีหน่วยข้อมูล $qty รายการ <br/>\n";
?>
|