StepCoding

การแยกค่าหลาย ๆ ค่าออกจากอะเรย์

อ่าน [981] หมวดหมู่: Array

ในการคัดลอกค่าของ array ทุก ๆ ตัวเข้าไปเก็บไว้ในตัวแปร ให้ใช้ฟังก์ชัน list() ดังนี้

# รูปแบบ
list($variable1, $variable2, ...) = $array;
โดยที่
	$variable1, ... คือ ตัวแปรที่จะนำค่าของอะเรย์มาใส่ไว้ โดยที่ค่าของ key แรกของอะเรย์จะเก็บไว้ใน $variable1 และค่าของ key ที่สองจะเก็บไว้ใน $variable2 ไปเรื่อย ๆ
	$array คือ ตัวแปรอะเรย์ที่จะแยะค่าของสมาชิกไปยังตัวแปรที่กำหนดมา

ค่าของ array จะถูกคัดลอกเข้าไปยังรายการตัวแปรที่กำหนดไว้ในฟังก์ชัน list() โดยเรียงตามลำดับ key ของอะเรย์ เช่น

<?php
$person = array('Genetic', 21, 'Admin');
list($name, $age, $position) = $person;
// $name = 'Genetic', $age = 21, $position = 'Admin'
?>

ถ้าสมาชิกในอะเรย์มีมากกว่าตัวแปรที่กำหนดในฟังก์ชัน list() มันก็จะไม่สนใจสมาชิกในอะเรย์ที่เหลือ เช่น

<?php
$person = array('Genetic', 21, 'Admin');
list($name, $age ) = $person;
// $name = 'Genetic', $age = 21
?>

แต่ถ้าเรากำหนดตัวแปรมากกว่า สมาชิกในอะเรย์ที่มี จะทำให้ตัวแปรที่เกินออกมานั้นมีค่าเป็น NULL เช่น

<?php
$values = array('hello', 'world');
list($a, $b, $c) = $values;
// $a = 'hello', $b = 'world', $c = NULL
?>

ในกรณีที่เราไม่ต้องการเก็บค่าของสมาชิกในตำแหน่งนั้น ๆ ของอะเรย์ให้ทำการ skip มันด้วยการ comma (,) เช่น

<?php
$values = range('a', 'e');
list($m, , $n, , $o) = $values;
// $m = 'a', $n = 'c', $o = 'e'
?>

ผู้สนับสนุน