xmen256k
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 98
ออฟไลน์
กระทู้: 1,999
|
 |
« เมื่อ: 03 มีนาคม 2011, 15:44:43 » |
|
แบบว่าในฟังก์ชั่นก็มีฟังก์ชั่นอีกตัวอยู่ข้างในอ่าครับ
แบบนี้มันได้หรือป่าว
|
|
|
บันทึกการเข้า
|
|
|
|
Party
Verified Seller
สมุนแก๊งเสียว
พลังน้ำใจ: 133
ออฟไลน์
กระทู้: 987
|
 |
« ตอบ #1 เมื่อ: 03 มีนาคม 2011, 15:47:37 » |
|
ได้ครับท่าน
|
|
|
บันทึกการเข้า
|
|
|
|
|
kongpair
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 333
ออฟไลน์
กระทู้: 2,721
|
 |
« ตอบ #3 เมื่อ: 03 มีนาคม 2011, 15:49:12 » |
|
ได้ครับ แต่ ไม่ควรทำ เปลือง MEM
|
|
|
บันทึกการเข้า
|
|
|
|
xmen256k
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 98
ออฟไลน์
กระทู้: 1,999
|
 |
« ตอบ #4 เมื่อ: 03 มีนาคม 2011, 15:54:24 » |
|
ได้ครับ แต่ ไม่ควรทำ เปลือง MEM
เง้อ คือพอดีจะดัดแปลงโค๊ดสลับไปมาหลายรอบอ่าครับ ทำได้แค่ดัดแปลง เขียนเองไม่เป็น -*- ปล.ขอบคุณทุกคนมากๆเลยครับ
|
|
|
บันทึกการเข้า
|
|
|
|
kongpair
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 333
ออฟไลน์
กระทู้: 2,721
|
 |
« ตอบ #5 เมื่อ: 03 มีนาคม 2011, 15:56:53 » |
|
แยกไว้คนล่ะ ฟังก์ชั่นก็ได้
ไม่จำเป้นต้องไปเขียนฟังก์ชั่นซ้อนในฟังก์ชั่น
เรียกใช้ได้เหมือนกันครับ
|
|
|
บันทึกการเข้า
|
|
|
|
xmen256k
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 98
ออฟไลน์
กระทู้: 1,999
|
 |
« ตอบ #6 เมื่อ: 03 มีนาคม 2011, 16:00:31 » |
|
แยกไว้คนล่ะ ฟังก์ชั่นก็ได้
ไม่จำเป้นต้องไปเขียนฟังก์ชั่นซ้อนในฟังก์ชั่น
เรียกใช้ได้เหมือนกันครับ
คือลักษณะการทำงานเป็บแบบนี้อ่าครับ มีข้อมูลอยู่ 1 ข้อมูล จากนั้นต้องผ่านฟั่งชั่นที่ 1 แล้วก็เอาข้อมูลจากฟังชั่นที่1 ไปผ่านฟังชั่นที่ 2 สุดท้ายจบด้วยการแสดงผลจากฟังชั่นที่ 2 อ่าครับ ผมก็เลยคิดว่าอยากยัดใส่ฟังชั่นเดียวเลย จากนั่นก็เรียกผ่านครั้งเดียวจากข้อมูลเริ่มต้นเลยอ่าครับ แบบนี้มันจะเปลือง mem รึป่าวอ่าครับ ขอบคุณครับ
|
|
|
บันทึกการเข้า
|
|
|
|
yoyokung
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 143
ออฟไลน์
กระทู้: 1,794
|
 |
« ตอบ #7 เมื่อ: 03 มีนาคม 2011, 16:16:46 » |
|
แยกไว้คนล่ะ ฟังก์ชั่นก็ได้
ไม่จำเป้นต้องไปเขียนฟังก์ชั่นซ้อนในฟังก์ชั่น
เรียกใช้ได้เหมือนกันครับ
คือลักษณะการทำงานเป็บแบบนี้อ่าครับ มีข้อมูลอยู่ 1 ข้อมูล จากนั้นต้องผ่านฟั่งชั่นที่ 1 แล้วก็เอาข้อมูลจากฟังชั่นที่1 ไปผ่านฟังชั่นที่ 2 สุดท้ายจบด้วยการแสดงผลจากฟังชั่นที่ 2 อ่าครับ ผมก็เลยคิดว่าอยากยัดใส่ฟังชั่นเดียวเลย จากนั่นก็เรียกผ่านครั้งเดียวจากข้อมูลเริ่มต้นเลยอ่าครับ แบบนี้มันจะเปลือง mem รึป่าวอ่าครับ ขอบคุณครับ เดี๋ยวนะ ถ้าผมไม่งงนะ คือว่า ปกติมี สองฟังก์ชั่นอยู่และ แต่ว่าเวลาเรียกใช้มันต้องเรียกซ้อนกัน ก็เลยอยากเรียกใช้ให้สะดวก โดยให้มันรวมกันซะ คุณก้เลยคิดว่าต้องซ้อนกันในฟังก์ชั่น ก็เอาใส้มันมารวมกันสิครับ ก็กลายเป้นอันเดียว เหมือนเขียนใหม่ขึ้นมาอันนึงนั้นแหละ นอกเสียจากว่า หรือยังต้องใช้งานแบบอิสระอยู่ ก็แยกออกมาเป็นอีกฟังก์ชั่นนึงเลย เอ...คิดไปคิดมา อย่าไปคิดลึกมากครับ ผมเริ่มงงและ 55
|
|
|
บันทึกการเข้า
|
|
|
|
sirares
Newbie
พลังน้ำใจ: 7
ออฟไลน์
กระทู้: 76
|
 |
« ตอบ #8 เมื่อ: 03 มีนาคม 2011, 16:18:35 » |
|
ก็เขียนรวมเป็นฟังก์ชั่นเดียวเลยไม่ได้เหรอครับ แบบนี้
|
|
|
บันทึกการเข้า
|
|
|
|
xmen256k
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 98
ออฟไลน์
กระทู้: 1,999
|
 |
« ตอบ #9 เมื่อ: 03 มีนาคม 2011, 16:29:53 » |
|
แยกไว้คนล่ะ ฟังก์ชั่นก็ได้
ไม่จำเป้นต้องไปเขียนฟังก์ชั่นซ้อนในฟังก์ชั่น
เรียกใช้ได้เหมือนกันครับ
คือลักษณะการทำงานเป็บแบบนี้อ่าครับ มีข้อมูลอยู่ 1 ข้อมูล จากนั้นต้องผ่านฟั่งชั่นที่ 1 แล้วก็เอาข้อมูลจากฟังชั่นที่1 ไปผ่านฟังชั่นที่ 2 สุดท้ายจบด้วยการแสดงผลจากฟังชั่นที่ 2 อ่าครับ ผมก็เลยคิดว่าอยากยัดใส่ฟังชั่นเดียวเลย จากนั่นก็เรียกผ่านครั้งเดียวจากข้อมูลเริ่มต้นเลยอ่าครับ แบบนี้มันจะเปลือง mem รึป่าวอ่าครับ ขอบคุณครับ เดี๋ยวนะ ถ้าผมไม่งงนะ คือว่า ปกติมี สองฟังก์ชั่นอยู่และ แต่ว่าเวลาเรียกใช้มันต้องเรียกซ้อนกัน ก็เลยอยากเรียกใช้ให้สะดวก โดยให้มันรวมกันซะ คุณก้เลยคิดว่าต้องซ้อนกันในฟังก์ชั่น ก็เอาใส้มันมารวมกันสิครับ ก็กลายเป้นอันเดียว เหมือนเขียนใหม่ขึ้นมาอันนึงนั้นแหละ นอกเสียจากว่า หรือยังต้องใช้งานแบบอิสระอยู่ ก็แยกออกมาเป็นอีกฟังก์ชั่นนึงเลย เอ...คิดไปคิดมา อย่าไปคิดลึกมากครับ ผมเริ่มงงและ 55 คือข้อมูลมันต้องผ่าน การทำงาน 2 ฟังชั่นอ่าครับ กรองด้วยฟังชั่นแรกก่อน จากนั้น ก็กรองด้วยฟังชั่นที่2 ผมก็เลยกะว่าเอามารวมกันทีเดียวอ่าครับ มันจะได้รึป่าว ปล. มือใหม่หัดลองอ่าครับ มึนๆ ฮ่าๆ
|
|
|
บันทึกการเข้า
|
|
|
|
jayc
คนรักเสียว
พลังน้ำใจ: 4
ออฟไลน์
กระทู้: 142
|
 |
« ตอบ #10 เมื่อ: 03 มีนาคม 2011, 16:42:45 » |
|
อิอิ ไม่รู้ได้ป่าว ลองเขียนฟังก์ชั่นแรก แล้วเก็บตัวแปรที่ใช้ในฟังก์ชั่นสองออกมา เอาไปใส่ในฟังก์ชั่นสองอีกทีดิ แบบ input1->fn1->output1 output1->fn2->output2
|
|
« แก้ไขครั้งสุดท้าย: 03 มีนาคม 2011, 16:43:52 โดย jayc »
|
บันทึกการเข้า
|
|
|
|
medieval
สมุนแก๊งเสียว
พลังน้ำใจ: 70
ออฟไลน์
กระทู้: 875
|
 |
« ตอบ #11 เมื่อ: 03 มีนาคม 2011, 17:02:11 » |
|
ก็เรียกใช้ฟังชั่นหนึ่ง ในฟังชั่นที่สองสิครับ มันก็ทำได้นี้นา ก็เหมือนเรียกใช้ปกติทั่วไป
|
|
|
บันทึกการเข้า
|
|
|
|
supaman
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 89
ออฟไลน์
กระทู้: 1,172
|
 |
« ตอบ #12 เมื่อ: 07 มีนาคม 2011, 15:05:00 » |
|
ได้คับท่าน ฟังก์ชั่นซ้อนฟังก์ชั่น เค้าเรียกว่า recursive function คับ ไม่ต้องเปลืองแรงในการใช้ loop ลดปัญหาทรัพยากรเครื่องได้เยอะครับ แต่ผู้ใช้จะต้องแม่นเรื่อง if else และ การเพิ่มลดค่าในการเข้าใช้ฟังก์ชั่นที่จะเรียกต่อไปให้ดี ถ้าผิดแม้แต่จุดเดียว ก็จุ๊บๆนะครับ
ลองค้นหาดูจากพี่ google นะคับ มีเยอะมากเลย recursive function เมื่อเขียนได้แล้ว ท่านจะรู้สึกว่าตัวเองโปรมากอย่างบอกไม่ถูก
|
|
|
บันทึกการเข้า
|
|
|
|
kobkung
Verified Seller
หัวหน้าแก๊งเสียว
พลังน้ำใจ: 103
ออฟไลน์
กระทู้: 1,312
|
 |
« ตอบ #13 เมื่อ: 07 มีนาคม 2011, 21:29:11 » |
|
คิดๆ ไปสักพัก เขียน class ได้เลย ทำเป็น class เลยดิ
|
|
|
บันทึกการเข้า
|
|
|
|
vii
Verified Seller
สมุนแก๊งเสียว
พลังน้ำใจ: 132
ออฟไลน์
กระทู้: 986
|
 |
« ตอบ #14 เมื่อ: 08 มีนาคม 2011, 14:38:39 » |
|
เห็นด้วย ทำเป็น class ไปเลยหนุกกว่า
|
|
|
บันทึกการเข้า
|
|
|
|
siamjung
Verified Seller
ก๊วนเสียว
พลังน้ำใจ: 25
ออฟไลน์
กระทู้: 419
|
 |
« ตอบ #15 เมื่อ: 08 มีนาคม 2011, 16:20:03 » |
|
จริงๆเรื่องเปลือง mem ผมว่าหลายคนละเลยเรื่องการคืนค่าตัวแปลกันนะครับ แบบว่าจะรอให้จบ function หรือจบที่จุดสิ้นสุดของการรัน script ก่อน แล้วระบบจะคืนค่าเอง
ถ้าใช้ตัวแปรหรือการประมวลผลเยอะๆ unset ค่าตัวแปรหรือ class บ้างเลยก็ช่วยได้เยอะนะครับ
|
|
|
บันทึกการเข้า
|
|
|
|
supergomez789
ก๊วนเสียว
พลังน้ำใจ: 20
ออฟไลน์
กระทู้: 238
|
 |
« ตอบ #16 เมื่อ: 08 มีนาคม 2011, 16:21:06 » |
|
 อืมม
|
|
|
บันทึกการเข้า
|
|
|
|
gilbert
สมุนแก๊งเสียว
พลังน้ำใจ: 587
ออฟไลน์
กระทู้: 713
|
 |
« ตอบ #17 เมื่อ: 09 มีนาคม 2011, 00:15:32 » |
|
class Work { private $value1;
function __contruct($value1) { Work::setValue1($value); }
private function A1() { $value1 = Work::getValue1(); //do Somthing return $value2; }
private function A2($value2) { //do Somthing echo $value3 }
public function A3() { $value2 = Work::A1(); Work::A2(); }
public setValue1($value1) { $this->value1 = $value1; } public getValue1() { return $this->value1; }
}
//เรียกใช้งาน $obj = new Work($value1); $obj->A3();
|
|
« แก้ไขครั้งสุดท้าย: 09 มีนาคม 2011, 00:23:16 โดย gilbert »
|
บันทึกการเข้า
|
|
|
|
|