GORAGOD.com

freelance, web developer, web designer, hosting, domain name

การใช้งานแอเรย์ (Array) ของ PHP (ตอนที่ 1)

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

ในบทความนี้ผมจะนำเสนอคำอธิบายง่ายๆ เกี่ยวกับแอเรย์และการนำไปประยุกต์ใช้งาน

แอเรย์จะประกอบด้วย 2 ส่วนหลักๆ คือ คีย์ (key) และ วาลู (value)
<?php
   $array['key'] = 'value';
   $array['key'] = array('value1', 'value2');
   $array['key'] = array('value1', array('value2', 'value2'));
?>

แอเรย์ทั่วๆไปจะประกอบด้วย key และ value โดยที่ key อาจเป็น ตัวเลข หรือ ตัวอักษร (สัญลักษณ์บางตัวใช้งานได้เช่น - _) และ value ที่อาจเป็น ตัวเลข ตัวอักษร หรือกระทั่ง แอเรย์เอง
<?php
   $array[] = 1;
   $array[] = 2;
   $array[] = 3;
?>

เราสามารถกำหนดแอเรย์ได้ด้วยวิธีอื่นๆได้อีกเหมือนด้านบน ซึ่งจะมีผลเหมือนกับ
<?php
   $array = array(1, 2, 3);
?>

การดูค่าของแอเรย์ที่เก็บ อันนี้มีความสำคัญมากๆ เพราะหากเราไม่เข้าใจโครงสร้างของมัน เราอาจมีปัญหาในการเข้าถึงข้อมูลต่างๆในแอเรย์ได้
<?php
    $array = array(1, 2, 3);
    // แสดงผลข้อมูลในแอเรย์ ทั้งหมด
    print_r($array);
    /*
    Array
    (
        [0] => 1
        [1] => 2
        [2] => 3
    )
    */

    // เข้าถึงแอเรย์แต่ละรายการ
    echo $array[2]; // 3
    echo $array[0]; // 1
?>

ลองดูตัวอย่างนะครับแอเรย์ที่ไม่ได้กำหนดค่าคีย์จะเริ่มต้นที่ 0 เสมอ

นอกจากนี้เรายังสามารถกำหนดค่าใหม่ให้กับแอเรย์ได้ตลอดเวลาแม้กระทั่งมีข้อมูลไม่เหมือนกับข้อมูลเริ่มต้น

ข้อมูลที่อยู่ภายในแอเรย์ไม่ได้เรียงลำดับตามค่าคีย์นะครับ แต่เรียงลำดับตามการจัดเก็บ ข้อมูลที่ถูกจัดเก็บก่อน จะอยู่ที่รายการแรกและรายการถัดมาตามลำดับ โดยไม่ได้เรียงลำดับตามค่าคีย์
<?php
    // กำหนดค่าคีย์ไม่ได้เรียงตามลำดับตัวเลข
    $array[1] = 2;
    $array[0] = 1;
    $array[3] = 3;
    // แสดงผลข้อมูลในแอเรย์
    print_r($array);
    /*
    Array
    (
        [1] => 2
        [0] => 1
        [3] => 3
    )    
    */

?>

มี 4 ตอนนะครับ อ่านต่อตอนอืนๆที่ลิงค์ด้านล่าง
0SHAREFacebookLINE it!
^