การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

Re: การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

โดย benzines » 06/12/2012 5:00 pm

mindphp เขียน:ไม่ต้องกลัวใครๆ เค้าว่าครับ
ถามมากก็รู้มาก ดีกว่าหาคำตอบเอง
ตอนเรียนเคยแคร์ครับ

แต่ตอนนี้ไม่แคร์ละครับ :oops:

Re: การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

โดย mindphp » 06/12/2012 3:02 pm

ไม่ต้องกลัวใครๆ เค้าว่าครับ
ถามมากก็รู้มาก ดีกว่าหาคำตอบเอง

Re: การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

โดย benzines » 06/12/2012 2:53 pm

touleg เขียน:ถูกต้องครับ

ขอบคุณมากครับ ทำให้กระจ่างขึ้นเยอะเลย :-D

Re: การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

โดย rangsun6342 » 06/12/2012 10:15 am

โค้ด: เลือกทั้งหมด

int max(int a, int b) {
    int maxval;
    if (a > b) {
        maxval = a;
    } else {
        maxval = b;
    }
    return maxval;
}

จากตัวอย่าง นะครับ

ก็คือ มันจะ return ผลลัพธ์จากการที่นำ a > b มาเก็บไว้ที่ return maxval;

ซึ่งก็คือ เราสามารถนำ maxval ไปใช้ต่อได้ โดยที่ค่า maxval จะเท่ากับ a หรือ b หลังจากที่มันคำนวณแล้ว


ผมเข้าใจถูกต้องมั้ยครับ

Re: การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

โดย touleg » 06/12/2012 12:06 am

ถ้าคุณเข้าใจเรื่องของการสร้าง function คุณก็จะเข้าใจว่า return มันมีไว้ทำอะไร

return = ส่งกลับ

ตัวอย่าง ฟังก์ชั่น บวกเลข

แบบ return ค่า

โค้ด: เลือกทั้งหมด

function Sum1($num1,$num2)
{
     return $num1+$num2;
}
 
แบบไม่ return ค่า (แสดงผลเลย)

โค้ด: เลือกทั้งหมด

function Sum2($num1,$num2)
{
     echo $num1+$num2;
}
 
ทีนี้ดูว่าควรใช้แบบไหนดี

สมมุติว่าผมมีตัวแปร $y = 20
และต้องการนำค่าสองค่าไปบวกกันก่อนแล้วค่อยเอามา * กับ $y แล้วค่อยแสดงผล
เราจะใช้ฟังก์ชั่นไหนดีระหว่าง Sum1 หรือ Sum2
คำตอบคือ Sum1
เพราะว่ามันสามารถนำค่าที่บวกเสร็จแล้วส่งกลับมา * กับ $y ได้
แต่ถ้าใช้ Sum2 มันไม่สามารถส่งค่ากลับมา * กับ $y ได้ แต่มันจะแสดงผลค่า 2 ค่าที่ บวกกันแทน

จากโปรแกรมนี้สามารถเขียนได้ดังนี้

โค้ด: เลือกทั้งหมด

$y = 20;
$y *= Sum1(5,10); //$y = $y * Sum1(5,10)  มีค่าเท่ากับ $y = $y * (5+10)
echo $y;
 
ลองคิดดูว่าจากโค้ดนี้ ถ้าใช้ Sum2 จะเป็นยังไง

การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

โดย benzines » 05/12/2012 9:50 pm

การเขียนโปรแกรม : ค่า return คืออะไร ต้องมีไว้ทำไม

ขอแบบคำตอบ ภาษาพูดนะครับ ไม่เอาภาษาทางการ เพราะว่าผมก็เคยลอง search google ดูแล้ว แต่ก็ยังไม่เข้าใจความหมาย และการทำงานของมันอยู่ดี

ถ้าจะไล่ให้ผมไปหา search ข้อมูลเอาเอง ผมก็คงไม่มาตั้งกระทู้ให้ทุกคนด่าผมหรอกครับ ^^

ข้างบน