|
 |
|
PHP: list() - ตัวช่วยที่สุดแสนสะดวกซะไม่มีล่ะ ปกติแล้วใน PHP เราสามารถ Assignment ค่าให้กับตัวแปร |
|
 |
|
|
 |
 |
|
ปกติแล้วใน PHP เราสามารถ Assignment ค่าให้กับตัวแปรหนึ่ง ๆ ได้โดยการใช้ชื่อตัวแปร ตามด้วยเครื่องหมาย = และปิดท้ายด้วยค่าที่ต้องการกำหนดให้ เช่น
$x = 3;
$y = "String value";
แต่เชื่อหรือไม่ว่า เราสามารถกำหนดค่าให้กับตัวแปรมากกว่า 1 ตัวพร้อม ๆ กันได้โดยการใช้ list()
list() ไม่ใช่ฟังก์ชั่น แต่เป็นโครงสร้างของตัวภาษา php เอง เอาไว้ใช้สำหรับการกำหนดค่าให้กับตัวแปรมากกว่า 1 ตัวได้พร้อม ๆ กัน เช่น
$a = ["สมชาย", "ชาย", "30"];
list($name, $sex, $age) = $a;
printf("ผมชื่อ$name เป็นผู้$sex อายุ $age ปี");
โดยส่วนตัวที่ใช้บ่อย ๆ แล้ว ผมเอา list มาใช้สำหรับการกำหนดค่าที่ดึงได้จาก Database ครับ เช่น
$sql = "SELECT id, fname, sname, age FROM customer ORDER BY id";
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);
list($id, $firstname, $lastname, $age) = $row;
วิธีนี้จะทำให้ลดจำนวนบรรทัดในการเขียนไปได้เยอะ และยังจะช่วยให้โปรแกรมเรามีประสิทธิภาพสูงขึ้นด้วยครับ
ในกรณีที่เราต้องการข้อมูลแค่บางส่วนจาก Array เรายังสามารถละข้อมูลที่เหลือลงตัวแปรได้ครับ เช่น
$sql = "SELECT id, fname, sname, age FROM customer ORDER BY id";
$rs = mysql_query($sql);
$row = mysql_fetch_array($rs);
// เราต้องการแค่ id และ fname ข้อมูล sname และ age จะถูกจับใส่ลง $dummy เป็น array ครับ
list($id, $firstname, $dummy) = $row;
จะเห็นได้ว่า วิธีนี้จะสะดวกกว่าการมานั่งกำหนดค่าให้ทีละตัวมาก ลองเอาไปประยุกต์ใช้กันดูนะครับ
ปล ผมไม่ได้คิดเองนะครับเจอใน internet เลยเอามาฝากครับ คิดว่าน่าจะมีประโยชน์กับเพื่อนสมาชิกทุกท่านครับ ขอบพระคุณเจ้าของบทความมา ณ ที่นี้ด้วยนะครับ
Tag : - - - -

|
|
 |
 |
 |
 |
Date :
2009-04-22 13:58:12 |
By :
NOHARA |
View :
1355 |
Reply :
2 |
|
 |
 |
 |
 |
|
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
Code (PHP)
<?php
$a = ["สมชาย", "ชาย", "30"];
list($name, $sex, $age) = $a;
printf("ผมชื่อ$name เป็นผู้$sex อายุ $age ปี");
?>
Parse error: syntax error, unexpected '[' in D:\AppServ\www\test\ip.php on line 2
|
 |
 |
 |
 |
Date :
2009-04-22 19:06:04 |
By :
martman26 |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
 |
|
|
 |
 |
|
<?php
$a = array("สมชาย", "ชาย", "3");
list($name, $sex, $age) = $a;
printf("ผมชื่อ$name เป็นผู้$sex อายุ $age ปี");
?>
รันได้ครับ
|
 |
 |
 |
 |
Date :
2009-04-22 19:59:28 |
By :
NOHARA |
|
 |
 |
 |
 |
|
|
 |
 |
|
 |
 |
|
|
|

|
Load balance : Server 02
|