14 กรกฎาคม 2554

เพิ่มค่าเข้าไปใน Array พร้อมด้วยค่า Index

โดยปกติแล้วหากเวลาจะเพิ่มค่าเข้าไปใน Array PHP จะมีฟังชั่น array_push() เพื่อให้ใช้งาน

ตัวอย่างเช่น

<?php
  $stack = array("ส้ม", "กล้วย", "มะละกอ", "ทุเรียน");
   array_push($stack ,"ลองกอง");
   print_r( $stack );
?>

ผลลัพธ์ :

Array
(
    [0] => ส้ม
    [1] => กล้วย
    [2] => มะละกอ
    [3] => ทุเรียน
    [4] => ลองกอง
)

แต่ถ้าหากเรามีค่า Array ดังนี้  $myarray = array('f' => 'ส้ม',  'b' => 'กล้วย');

เมื่อใช้คำสั่ง array_push()  : array_push($myarray, 'มะละกอ');

ก็จะได้ ผลลัพธ์ :

Array (
  [f] => ส้ม
  [b] => กล้วย
  [0] => มะละกอ // ค่าที่เพิ่มเข้ามาด้วย array_push()
)

ซึ่งระบบจะสร้าง Index array ให้อัตโนมัติ แต่หากเราอยากจะเพิ่ม Index array เข้าไปด้วยก็จะใช้วิธีนี้ไม่ได้

ตรงนี้จะต้องสร้าง function เพิ่มเข้ามา ซึ่งได้มี ฝรั่ง (น่าจะ อินเดีย) ได้ทำการสร้างไว้ให้ดูเป็นตัวอย่างแล้ว คือ

function array_push_assoc($array, $key, $value){
 $array[$key] = $value;
 return $array;
}

และ วิธีใช้งาน

$myarray = array_push_assoc($myarray, 'h', 'hello');

ข้อมูล :
http://www.select2web.com/php/array_push.html
http://jaswanttak.wordpress.com/2010/04/23/php-associative-array-push/