อาร์เรย์ PHP: เชื่อมโยง หลายมิติ

⚡ สรุปอย่างชาญฉลาด

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

  • 🧰 หน้าที่ของอาร์เรย์: อาร์เรย์เก็บค่าที่เกี่ยวข้องกันหลายค่าไว้ในตัวแปรเดียว โดยเข้าถึงได้โดยใช้คีย์ตัวเลขหรือคีย์ชื่อ แทนที่จะใช้ตัวแปรแยกกันหลายตัว
  • 🔢 อาร์เรย์ตัวเลข: อาร์เรย์ตัวเลขใช้คีย์ดัชนีจำนวนเต็มเริ่มต้นที่ศูนย์เพื่ออ่านหรือกำหนดค่าให้กับแต่ละองค์ประกอบที่จัดเก็บไว้
  • 🏷️ อาร์เรย์แบบเชื่อมโยง: อาร์เรย์แบบเชื่อมโยงใช้คีย์ที่เป็นสตริงที่สื่อความหมาย ซึ่งเหมาะอย่างยิ่งสำหรับการจับคู่ชื่อกับค่าหรือการแมปping ฟิลด์ฐานข้อมูล
  • 🧬 หลายมิติ: อาร์เรย์หลายมิติจะซ้อนอาร์เรย์ไว้ภายในอาร์เรย์อีกทีหนึ่งping ข้อมูลที่มีโครงสร้าง เช่น ภาพยนตร์ที่จัดเรียงตามหมวดหมู่
  • 🇧🇷 แถว Operaทอร์: ตัวดำเนินการยูเนียนใช้สำหรับรวมอาร์เรย์ ในขณะที่ == ใช้ตรวจสอบความเท่าเทียมกันของค่า และ === ยังตรวจสอบลำดับของคีย์และชนิดข้อมูลด้วย
  • 🔧 ฟังก์ชันอาร์เรย์: count, is_array, sort, ksort และ asort เป็นฟังก์ชันที่ใช้ในการรายงานและเรียงลำดับเนื้อหาของอาร์เรย์ใหม่ตามค่าหรือตามคีย์
  • 🤖 AI ช่วยเหลือ: เครื่องมือ AI สามารถแปลงแถวในฐานข้อมูลให้เป็นอาร์เรย์แบบเชื่อมโยง และช่วยแก้ไขข้อผิดพลาดในโครงสร้างอาร์เรย์หลายมิติที่ซับซ้อนได้

PHP อาร์เรย์

อาร์เรย์ 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

ภาพยนตร์แต่ละเรื่องจะมีหมายเลขดัชนีซึ่งใช้ในการเรียกดูหรือแก้ไขค่าของภาพยนตร์นั้นๆ โปรดสังเกตโค้ดต่อไปนี้

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

ที่นี่

อาร์เรย์ PHP

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);
?>

ที่นี่

อาร์เรย์ PHP

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 )

ทำไมต้องใช้อาร์เรย์?

  • เนื้อหาของอาร์เรย์สามารถขยายให้เก็บค่าได้มากขึ้น
  • อาร์เรย์ช่วยให้จัดกลุ่มข้อมูลที่เกี่ยวข้องกัน เช่น รายละเอียดการเข้าสู่ระบบเซิร์ฟเวอร์ เข้าด้วยกันได้อย่างง่ายดาย
  • อาร์เรย์ช่วยเขียนโค้ดที่สะอาดยิ่งขึ้น

คำถามที่พบบ่อย

การใช้ลูป foreach เป็นวิธีที่พบได้บ่อยที่สุด เขียน foreach ($array as $value) เพื่ออ่านค่าแต่ละค่าในอาร์เรย์ หรือ foreach ($array as $key => $value) เพื่ออ่านทั้งคีย์และค่าของแต่ละองค์ประกอบในอาร์เรย์

`sort()` จะเรียงลำดับค่าใหม่และกำหนดดัชนีใหม่ให้กับอาร์เรย์ด้วยคีย์ตัวเลขใหม่ โดยจะลบคีย์เดิมออก ในขณะที่ `asort()` จะเรียงลำดับตามค่า แต่จะยังคงผูกค่าแต่ละค่าไว้กับคีย์เดิม ซึ่งมีความสำคัญสำหรับอาร์เรย์แบบเชื่อมโยง

ใช้ array_push() หรือ $arr[] = value เพื่อเพิ่มข้อมูลต่อท้าย และใช้ array_pop() หรือ array_shift() เพื่อลบข้อมูลออกจากส่วนท้ายหรือส่วนต้น หากต้องการลบข้อมูลเฉพาะโดยใช้คีย์ ให้ใช้ฟังก์ชัน unset()

ใช่แล้ว AI สามารถเขียนลูปดึงข้อมูลที่แมปแต่ละแถวไปยังอาร์เรย์แบบเชื่อมโยงโดยใช้ชื่อคอลัมน์เป็นคีย์ และแนะนำวิธีการดึงข้อมูลที่ส่งคืนอาร์เรย์แบบเชื่อมโยงโดยตรงจากไดรเวอร์ฐานข้อมูลของคุณได้

ใช่แล้ว วางเอาต์พุต print_r หรือ var_dump ลงไป แล้ว AI จะสามารถอธิบายโครงสร้างการซ้อนกัน แสดงเส้นทางที่แน่นอนไปยังค่าต่างๆ เช่น $film['comedy'][0] และตรวจจับคีย์หรือระดับที่ไม่ตรงกันได้

สรุปโพสต์นี้ด้วย: