ฟังก์ชั่นนี้ไว้ทำอะไร? $_POST = array_map(array('Tools', 'htmlentitiesUTF8'), $_POST);
เข้าใจว่า ส่งค่า $_POST ที่ได้รับเข้าไป ตรวจสอบ ค่าใน function Tools,htmlentitiesUTF8 ตามลำดับนะครับ เพื่อ ประโยชน์อะไรนี้ ก็แล้วหน้าที่ ของ แต่ละ function ล่ะครับ
Date :
2009-07-26 08:59:12
By :
nilas
array_map() ก็คือฟังชั่นที่ใช้ map อาเรย์คับ คือเปลี่ยนค่ามันไปทีละตัวจนหมด
ส่วน พารามิเตอร์แรก ที่เป็นอาเรย์นั้น เป็น callback function ครับ ซึ่งมันก็คือ เมธอด htmlentitiesUTF8 ของคลาส Tools ครับ ซึ่งเป็น static method
ดังนั้น ตัวแปรทุกตัว จะถูก เปลี่ยนค่า โดยใช้ htmlentitiesUTF8() คับ
SITE: http://gunner.freetzi.com/newVer
MSN: [email protected]
Date :
2009-07-26 09:14:06
By :
pjgunner
<?php
static public function safePostVars()
{
$_POST = array_map(array('Tools', 'htmlentitiesUTF8'), $_POST);
}
?>
Tools เป็นชื่อ class
htmlentitiesUTF8 เป็นชื่อ method ในคลาส Tools
การใช้ array_map อย่างข้างบนจะเป็นการแปลง element แต่ละ element ใน array $_POST
html entities ครับ
อย่างเช่น $_POST['a'] == '<b>test</b>'; $_POST['b'] == '<b>test</b>'; คำสั่งข้างบนก็จะแปลง
$_POST['a'] == '<b>test</b>' $_POST['b'] == '<b>test</b>' ครับ
แต่คำสั่งข้างบนยังไม่สนับสนุน $_POST element ที่เป็น array อย่างเช่น
$_POST['c'] == array('a','b','c') ที่มาจาก <input type="text" name='c[]' /> <input type="text" name='c[]' /> <input type="text" name='c[]' /> ครับ
Date :
2009-07-26 09:23:35
By :
num
อ่า..ขอบคุณ
ฟังก์ชั่น htmlentitiesutf8 ผมลองแล้วมันแปลงออกมาเป็น < -> < จริงๆนั่นแหละ
แต่ตัวนี้มันไม่ส่งผลลัพธ์ออกมาเลยงงๆไงครับว่ามันทำอะไร
แล้วมันมี input text ที่เป็น array ไว้เพื่ออะไรครับ ยังไม่เข้าใจ
input text ธรรมดาผมว่ามันก็เหลือใช้แล้วนะ
Date :
2009-07-26 16:45:57
By :
mr.v
ตัวอย่างโค้ดที่บอกมามัน เป็นตัวแปร post ซึ่งเป็น array
และตามโค้ดที่ให้มามันต้องมี class Tools ด้วยนะครับ
Date :
2009-07-26 18:22:14
By :
pjgunner
input text ที่เป็น array ใช้ในโปรแกรมที่ให้กรอกข้อมูลทีเดียวหลายๆ ชุดน่ะครับ
ตัวอย่างครับ
javascript-dynamic-add-textbox
Date :
2009-07-26 19:04:59
By :
num
Load balance : Server 00