อาร์เรย์ PHP: เชื่อมโยง หลายมิติ
⚡ สรุปอย่างชาญฉลาด
อาร์เรย์ใน PHP เก็บค่าที่เกี่ยวข้องกันหลายค่าไว้ในตัวแปรเดียว ทำให้การจัดกลุ่มและประมวลผลข้อมูลที่เกี่ยวข้องกันทำได้ง่าย บทแนะนำนี้จะครอบคลุมอาร์เรย์ตัวเลข อาร์เรย์แบบเชื่อมโยง และอาร์เรย์หลายมิติ ตัวดำเนินการเปรียบเทียบอาร์เรย์ และฟังก์ชันหลัก เช่น count, sort, ksort และ asort

อาร์เรย์ PHP คืออะไร?
อาร์เรย์ PHP เป็นตัวแปรที่เก็บข้อมูลที่เกี่ยวข้องมากกว่าหนึ่งชิ้นไว้ในตัวแปรตัวเดียว
ลองนึกภาพอาร์เรย์เป็นกล่องช็อคโกแลตที่มีช่องด้านใน
กล่องสี่เหลี่ยมแทนอาร์เรย์ ในขณะที่ช่องว่างที่บรรจุช็อกโกแลตแทนค่าที่เก็บอยู่ในอาร์เรย์
ตัวอย่างด้านล่างนี้จะแสดงให้เห็นว่าวิธีการนี้ทำงานอย่างไร
อาร์เรย์ตัวเลข
อาร์เรย์ตัวเลขใช้ตัวเลขเป็นคีย์เข้าถึง
คีย์การเข้าถึงคือการอ้างอิงถึงสล็อตหน่วยความจำในตัวแปรอาร์เรย์
คีย์การเข้าถึงจะใช้เมื่อใดก็ตามที่เราต้องการอ่านหรือกำหนดค่าใหม่ให้กับองค์ประกอบของอาร์เรย์
ด้านล่างนี้คือไวยากรณ์สำหรับการสร้างอาร์เรย์ตัวเลขใน PHP
ตัวอย่างอาร์เรย์
<?php $variable_name[n] = value; ?>
Or
<?php
$variable_name = array(n => value, ...);
?>
ที่นี่
- “$variable_name…” คือชื่อของตัวแปร
- "[n]" คือหมายเลขดัชนีการเข้าถึงขององค์ประกอบ
- “value” คือค่าที่กำหนดให้กับองค์ประกอบอาร์เรย์
ต่อไปนี้เราจะมาดูตัวอย่างของอาร์เรย์ตัวเลขกัน
สมมติว่าเรามีภาพยนตร์ 5 เรื่องที่เราต้องการเก็บไว้ในตัวแปรอาเรย์
เราสามารถใช้ตัวอย่างที่แสดงด้านล่างเพื่อทำเช่นนั้น
<?php $movie[0] = 'Shaolin Monk'; $movie[1] = 'Drunken Master'; $movie[2] = 'American Ninja'; $movie[3] = 'Once upon a time in China'; $movie[4] = 'Replacement Killers'; ?>
ที่นี่
ภาพยนตร์แต่ละเรื่องจะมีหมายเลขดัชนีซึ่งใช้ในการเรียกดูหรือแก้ไขค่าของภาพยนตร์นั้นๆ โปรดสังเกตโค้ดต่อไปนี้
<?php $movie[0]="Shaolin Monk"; $movie[1]="Drunken Master"; $movie[2]="American Ninja"; $movie[3]="Once upon a time in China"; $movie[4]="Replacement Killers"; echo $movie[3]; $movie[3] = " Eastern Condors"; echo $movie[3]; ?>
Output:
Once upon a time in China Eastern Condors
ดังที่คุณเห็นจากตัวอย่างข้างต้น การทำงานกับอาร์เรย์ใน PHP เมื่อต้องจัดการกับค่าหลายค่าที่มีลักษณะเดียวกันนั้นง่ายและยืดหยุ่นมาก
นอกจากนี้ ยังสามารถสร้างตัวแปรอาร์เรย์ด้านบนได้โดยใช้โค้ดต่อไปนี้อีกด้วย
<?php $movie = array(0 => "Shaolin Monk", 1 => "Drunken Master", 2 => "American Ninja", 3 => "Once upon a time in China", 4 => "Replacement Killers" ); echo $movie[4]; ?>
Output:
Replacement Killers
อาร์เรย์เชื่อมโยง PHP
อาร์เรย์แบบเชื่อมโยงแตกต่างจากอาร์เรย์ตัวเลขตรงที่อาร์เรย์แบบเชื่อมโยงใช้ชื่อที่สื่อความหมายสำหรับคีย์ระบุตัวตน
ด้านล่างนี้คือไวยากรณ์สำหรับการสร้างอาร์เรย์แบบเชื่อมโยงใน PHP
<?php $variable_name['key_name'] = value; $variable_name = array('keyname' => value); ?>
ที่นี่
- “$variable_name…” คือชื่อของตัวแปร
- “['key_name']” คือคีย์การเข้าถึงขององค์ประกอบนั้น
- “value” คือค่าที่กำหนดให้กับองค์ประกอบอาร์เรย์
สมมติว่าเรามีกลุ่มบุคคล และเราต้องการระบุเพศของแต่ละคนโดยอ้างอิงจากชื่อของพวกเขา
เราสามารถใช้อาร์เรย์แบบเชื่อมโยงเพื่อทำเช่นนั้นได้ โค้ดด้านล่างนี้จะช่วยเราทำเช่นนั้น
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); print_r($persons); echo ""; echo "Mary is a " . $persons["Mary"]; ?>
ที่นี่
Output:
Array ( [Mary] => Female [John] => Male [Mirriam] => Female ) Mary is a Female
อาร์เรย์แบบเชื่อมโยงยังมีประโยชน์มากเมื่อต้องการดึงข้อมูลจากฐานข้อมูลอีกด้วย
ชื่อฟิลด์ถูกใช้เป็นคีย์ ID
PHP อาร์เรย์หลายมิติ
เหล่านี้เป็นอาร์เรย์ที่มีอาร์เรย์ที่ซ้อนกันอื่นๆ
ข้อดีของอาร์เรย์หลายมิติคือช่วยให้เราสามารถจัดกลุ่มข้อมูลที่เกี่ยวข้องเข้าด้วยกันได้
ต่อไปนี้เราจะมาดูตัวอย่างการใช้งานจริงของอาร์เรย์หลายมิติใน PHP กัน
ตารางด้านล่างแสดงรายการภาพยนตร์ตามหมวดหมู่
| ชื่อหนัง | Category |
|---|---|
| แพนเทอร์สีชมพู | ความขบขัน |
| จอห์น อิงลิช | ความขบขัน |
| ตายยาก | การกระทำ |
| Expendables | การกระทำ |
| ลอร์ดออฟเดอะริงส์ | มหากาพย์ |
| โรมิโอและจูเลียต | โรแมนติก |
| ไม่เห็นความชั่ว ไม่ได้ยินความชั่ว | ความขบขัน |
ข้อมูลข้างต้นสามารถแสดงเป็นอาร์เรย์หลายมิติได้ รหัสด้านล่างแสดงการใช้งาน
<?php $movies = array( "comedy" => array("Pink Panther", "John English", "See no evil hear no evil"), "action" => array("Die Hard", "Expendables"), "epic" => array("The Lord of the rings"), "Romance" => array("Romeo and Juliet") ); print_r($movies); ?>
ที่นี่
Output:
Array ( [comedy] => Array ( [0] => Pink Panther [1] => John English [2] => See no evil hear no evil ) [action] => Array ( [0] => Die Hard [1] => Expendables ) [epic] => Array ( [0] => The Lord of the rings ) [Romance] => Array ( [0] => Romeo and Juliet ) )
อีกวิธีหนึ่งในการกำหนดอาร์เรย์เดียวกันคือดังต่อไปนี้
<?php $film = array( "comedy" => array( 0 => "Pink Panther", 1 => "John English", 2 => "See no evil hear no evil" ), "action" => array ( 0 => "Die Hard", 1 => "Expendables" ), "epic" => array ( 0 => "The Lord of the rings" ), "Romance" => array ( 0 => "Romeo and Juliet" ) ); echo $film["comedy"][0]; ?>
Output:
Pink Panther
หมายเหตุ: อาร์เรย์ตัวเลขของภาพยนตร์ถูกซ้อนอยู่ภายในอาร์เรย์แบบเชื่อมโยงของหมวดหมู่
อาร์เรย์ PHP: Operaโปร
| OperaTor | ชื่อ | Descriptไอออน | วิธีการที่จะทำมัน | เอาท์พุต |
|---|---|---|---|---|
| x+y | สหภาพ | รวมองค์ประกอบจากทั้งสองอาร์เรย์ |
<?php $x = array('id' => 1); $y = array('value' => 10); $z = $x + $y; ?> |
อาร์เรย์([id] => 1 [ค่า] => 10) |
| x == ย | เท่ากัน | เปรียบเทียบอาร์เรย์สองชุด และส่งคืนค่าจริงหากทั้งสองชุดเท่ากัน |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x == $y) { echo "true"; } else { echo "false"; } ?> |
จริงหรือ 1 |
| x === y | เหมือนกัน | เปรียบเทียบทั้งค่าและ ประเภทข้อมูล |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x === $y) { echo "true"; } else { echo "false"; } ?> |
เท็จหรือ 0 |
| x != y, x <> y | ไม่เท่ากับ | ส่งคืนค่าจริงหากอาร์เรย์ทั้งสองไม่เท่ากัน |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x != $y) { echo "true"; } else { echo "false"; } ?> |
เท็จหรือ 0 |
| x !== y | ไม่เหมือนกัน | ส่งคืนค่าจริงหากอาร์เรย์ทั้งสองไม่เหมือนกันทั้งในด้านค่าหรือประเภท |
<?php $x = array("id" => 1); $y = array("id" => "1"); if($x !== $y) { echo "true"; } else { echo "false"; } ?> |
จริงหรือ 1 |
ฟังก์ชั่นอาร์เรย์ PHP
ฟังก์ชั่นการนับ
ฟังก์ชัน `count` ใช้สำหรับนับจำนวนองค์ประกอบในอาร์เรย์ของ PHP โค้ดด้านล่างแสดงการใช้งาน
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo count($lecturers); ?>
Output:
3
ฟังก์ชัน is_array
ฟังก์ชัน `is_array` ใช้สำหรับตรวจสอบว่าตัวแปรนั้นเป็นอาร์เรย์หรือไม่ ต่อไปนี้เราจะมาดูตัวอย่างการใช้งานฟังก์ชัน `is_array` กัน
<?php $lecturers = array("Mr. Jones", "Mr. Banda", "Mrs. Smith"); echo is_array($lecturers); ?>
Output:
1
ประเภท
ฟังก์ชันนี้ใช้สำหรับเรียงลำดับอาร์เรย์ตามค่าของอาร์เรย์นั้น
หากค่าเป็นตัวอักษรและตัวเลข ระบบจะเรียงลำดับตามตัวอักษร
หากค่าเป็นตัวเลข ระบบจะเรียงลำดับจากน้อยไปหามาก
โปรแกรมจะลบปุ่มลัดที่มีอยู่เดิมและเพิ่มปุ่มตัวเลขใหม่เข้าไป
ผลลัพธ์ของฟังก์ชันนี้คืออาร์เรย์ตัวเลข
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); sort($persons); print_r($persons); ?>
Output:
Array ( [0] => Female [1] => Female [2] => Male )
คลาสอร์ท
ฟังก์ชันนี้ใช้เพื่อเรียงลำดับอาร์เรย์โดยใช้คีย์ ตัวอย่างต่อไปนี้จะอธิบายการใช้งานฟังก์ชันนี้
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); ksort($persons); print_r($persons); ?>
Output:
Array ( [John] => Male [Mary] => Female [Mirriam] => Female )
หลากหลาย
แจกันดอกไม้โรแมนติกนี้ ฟังก์ชัน ใช้สำหรับเรียงลำดับอาร์เรย์โดยใช้ค่าต่างๆ ในขณะที่ยังคงรักษาไว้ping คีย์ต่างๆ ตัวอย่างต่อไปนี้แสดงวิธีการใช้งาน
<?php $persons = array("Mary" => "Female", "John" => "Male", "Mirriam" => "Female"); asort($persons); print_r($persons); ?>
Output:
Array ( [Mary] => Female [Mirriam] => Female [John] => Male )
ทำไมต้องใช้อาร์เรย์?
- เนื้อหาของอาร์เรย์สามารถขยายให้เก็บค่าได้มากขึ้น
- อาร์เรย์ช่วยให้จัดกลุ่มข้อมูลที่เกี่ยวข้องกัน เช่น รายละเอียดการเข้าสู่ระบบเซิร์ฟเวอร์ เข้าด้วยกันได้อย่างง่ายดาย
- อาร์เรย์ช่วยเขียนโค้ดที่สะอาดยิ่งขึ้น



