ใน PHP สามารถกำหนด array ได้หลายมิติ โดยปกติเราสามารถกำหนด index เป็นจำนวนเต็มหรือเป็นข้อความก็ได้ ภาษา PHP ค่อนข้างจะยืดหยุ่น และที่สำคัญเราสามารถสร้าง Array กี่ชั้น (มิติ) ก็ได้ เดี๋ยวผมจะยกตัวอย่างให้ดูกันสักหน่อย
ผลลัพธ์
Array
(
[0] => red
[1] => blue
[2] => green
[3] => black
)
ผมลัพธ์ที่ออกมา จะสังเกตุว่ามัน add index ให้เราอัตโนมัติโดยค่า index จะเริ่มตั้งแต่ 0 ซึ่งจริงๆแล้วมันคือการเขียนอีกแบบ ดังนี้
รูปแแบบที่ 2
<?php
$color = array(0=>"red",1=>"blue",2=>"green",3=>"black");
print_r($color); //view
?>
ผลลัพธ์
Array ( [0] => red [1] => blue [2] => green [3] => black )
ผลลัพธ์เหมือนกัน แต่ยังสามารถเขียนได้อีกแบบ ดังนี้
รูปแแบบที่ 3
<?php
$color[0] = "red";
$color[1] = "blue";
$color[2] = "green";
$color[3] = "black";
print_r($color); //view
?>
ผลลัพธ์
Array
(
[0] => red
[1] => blue
[2] => green
[3] => black
)
ผลลัพธ์เหมือนกัน ที่จริงมันเขียนได้หลายแบบแล้วแต่ความถนัด ใน PHP เวอร์ชั่น PHP 5.4.x สามารถเขียนรูปแบบ Array ได้ดังนี้
<?php
$color = ["red","blue","green","black"];
print_r($color);
?>
ผลลัพธ์
Array ( [0] => red [1] => blue [2] => green [3] => black )
วิธีดึงข้อมูลใน array มาโชว์
echo $color[0]; //แสดงข้อมูลใน Array index ที่ 0
ผลลัพธ์
red
Array หลายมิติ
พูดงาน Array หลายมิติคือ การเอา Array มากกว่า 1 ก้อนมาผูกกันไว้ โดย Array 3 ก้อนมีความสัมพันธ์กัน ผมจะยกตัวอย่างง่ายๆ โดยจะกำหนด Array โดยก้อนหลักจะเก็บข้อมูลนักเรียน ก้อนที่สองจะประกอบไปด้วย ชื่อนักเรียน ก้อนที่สองคือวิชาที่เรียน ดังตัวอย่าง
<?php
$students = array(
array(
"name" => "sakon"
,"major" => array("computer","intro program")
)
,array(
"name" => "manee"
,"major" => array("computer","PHP")
)
);
echo '<pre>';
print_r($students);
echo '</pre>';
?>
สาเหตุที่มีการกำหนดค่าของ major เป็น Array อีกชั้นเป็นเพราะว่านักเรียน 1 คนสามารถเรียนได้หลายวิชา
ผลลัพธ์
Array
(
[0] => Array
(
[name] => sakon
[major] => Array
(
[0] => computer
[1] => intro program
)
)
[1] => Array
(
[name] => manee
[major] => Array
(
[0] => computer
[1] => PHP
)
)
)
วิธีดึงข้อมูลใน array มาโชว์
echo $students[0]["name"]; //แสดงข้อมูลใน Array index ที่ 0
ผลลัพธ์
sakon
ไม่ยากใช่ไหมครับ เพื่อนๆสามารถนำตัวอย่างไปประยุกต์ได้ หวังว่าบทความนี้จะมีประโยชน์กับท่านไม่มากก็น้อย
ไม่มีความคิดเห็น :
แสดงความคิดเห็น