Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> PHP

PHP Associative Array


ความหมายและการใช้งาน

ใน PHP อาร์เรย์ เป็นคอลเล็กชันที่คั่นด้วยเครื่องหมายจุลภาคของ key => value คู่ อาร์เรย์ดังกล่าวเรียกว่า Associative Array โดยที่ค่าเชื่อมโยงกับคีย์เฉพาะ ส่วนสำคัญต้องเป็น ba สตริงหรือจำนวนเต็ม ในขณะที่ค่าสามารถเป็นประเภทใดก็ได้ แม้แต่อาร์เรย์อื่น

การใช้คีย์เป็นทางเลือก หากอาร์เรย์ประกอบด้วยค่าเท่านั้น อาร์เรย์นั้นจะกลายเป็นอาร์เรย์ที่จัดทำดัชนี โดยดัชนีตำแหน่งตามค่าศูนย์ของค่าจะทำงานเป็นคีย์

Array object สามารถเริ่มต้นได้โดย array() ฟังก์ชันและการกำหนดโดยใส่องค์ประกอบในวงเล็บเหลี่ยม []

ไวยากรณ์

//Associative array using array() function
$arr=array(key1=>val1, key2=>val2,key3=val3,..);
//Associative array using assignment method
$arr=[key1=>val1, key2=>val2,key3=val3,..];

คีย์ควรเป็นจำนวนเต็มหรือสตริง องค์ประกอบค่าสามารถเป็นประเภท PHP ใดก็ได้ หากคีย์บางคีย์ปรากฏขึ้นซ้ำๆ กัน ค่าสุดท้ายที่กำหนดจะเขียนทับค่าก่อนหน้า เราสามารถเข้าถึงค่าที่เกี่ยวข้องกับคีย์บางตัวโดยทำตามไวยากรณ์ -

$arr[key1];

เวอร์ชัน PHP

ใช้วงเล็บเหลี่ยมสำหรับกำหนดอาร์เรย์ได้ตั้งแต่ PHP 5.4

ตัวอย่างต่อไปนี้ใช้ฟังก์ชัน array() เพื่อประกาศอาร์เรย์ที่เชื่อมโยง

ตัวอย่าง

<?php
$arr=array(1=>"one", 2=>"two", 3=>"three");
var_dump($arr);
?>

ผลลัพธ์

สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -

array(3) {
   [1]=>
   int(11)
   [2]=>
   int(22)
   [3]=>
   int(33)
}

ตัวอย่างนี้ใช้วงเล็บเหลี่ยมสำหรับกำหนด associative array

ตัวอย่าง

<?php
$arr=[1=>"one", 2=>"two", 3=>"three"];
var_dump($arr);
?>

ผลลัพธ์

สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -

array(3) {
   [1]=>
   string(3) "one"
   [2]=>
   string(3) "two"
   [3]=>
   string(5) "three"
}

เราสามารถสำรวจองค์ประกอบอาร์เรย์โดยใช้ foreach loop ได้ดังนี้:

ตัวอย่าง

<?php
$arr=[1=>"one", 2=>"two", 3=>"three"];
//using foreach loop
foreach ($arr as $key=>$value){
   echo $key . "=>" . $value . "\n";
}
?>

ผลลัพธ์

สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -

1=>one
2=>two
3=>three

ตัวอย่างนี้แสดงค่าแก้ไขขององค์ประกอบที่มีอยู่และเพิ่มคู่คีย์-ค่าใหม่โดยใช้วงเล็บเหลี่ยม

ตัวอย่าง

<?php
$arr=[1=>"one", 2=>"two", 3=>"three"];
//modify array element
$arr[2]="twenty";
//add new element in array
$arr[10]="ten";
//using foreach loop
foreach ($arr as $key=>$value){
   echo $key . "=>" . $value . "\n";
}
?>

ผลลัพธ์

สิ่งนี้จะทำให้เกิดผลลัพธ์ดังต่อไปนี้ -

1=>one
2=>twenty
3=>three
10=>ten