คำสั่งสำหรับลบค่าออกจากอะเรย์นั้นมีอยู่ 2-3 ตัว
1. array_pop
คำสั่งนี้ใช้สำหรับเอาอะเรย์ตัวสุดท้ายออกจากอะเรย์ ลองดูตัวอย่างการใช้งาน
$stack = array("orange", "banana", "apple", "raspberry"); array_pop($stack); print_r($stack); |
ค่าของตัวแปร stack จะเป็นดังนี้
Array ( [0] => orange [1] => banana [2] => apple ) |
ในกรณีที่ต้องการเอาค่าที่ pop ออกมาไปใช้งานต่อ ก็สามารถทำได้ โดยเอาตัวแปรเข้าไปรับมาตอนเรียกใช้ฟังก์ชั่น
$stack = array("orange", "banana", "apple", "raspberry"); $fruit = array_pop($stack); var_dump($fruit); |
2. array_shift
array_shift สำหรับลบค่าตัวแรกออกจากอะเรย์ ดูตัวอย่าง
$stack = array("orange", "banana", "apple", "raspberry"); array_shift($stack); print_r($stack); |
ผลลัพธ์ของตัวอย่าง
Array ( [0] => banana [1] => apple [2] => raspberry ) |
ถ้าเราต้องการเอาค่าที่ shift ออกมาไปใช้งานต่อ ก็ทำได้เช่นกัน โดยเอาตัวแปรเข้าไปรับฟังก์ชั่น
$stack = array("orange", "banana", "apple", "raspberry"); $fruit = array_shift($stack); var_dump($fruit); |
ทีนี้มาถึงสิ่งที่ผมต้องการจะนำเสนอจริงๆในวันนี้ คือลบค่าที่ต้องการออกจากอะเรย์ ซึ่งไม่รู้ว่ามันอยู่อันดับที่เท่าใดในอะเรย์ อันนี้มันไม่มีฟังก์ชั่นตรงๆ แต่ประยุกต์เอาจากฟังก์ชั่นที่มีอยู่ ได้แบบง่ายๆ
array array_diff ( array $array1 , array $array2 [, array $... ] ) |
array_diff มันจะคืนค่าค่าที่มีอยู่ใน array1 แต่ไม่มีอยู่ใน array2 คิดให้มันง่ายๆก็คือเอาค่าใน array2 ไปลบออกจาก array1 สิ่งที่เหลือก็คือค่าที่เราไม่ต้องการถูกลบทิ้งหมด
$array1 = array(1,2,3,4,5); $array2 = array(2,4); $result = array_diff($array1, $array2); print_r($result); |
ผลลัพธ์
Array ( [0] => 1 [1] => 3 [2] => 5 ) |
ถ้าเรามีค่าเพียงค่าเดียวที่ต้องการลบออก ก็จับโยนมันให้เป็นอะเรย์ แล้วทำตามวิธีการข้างบน
Leave a Reply