ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programmingเอาค่าจากตัวแปลใน function ยังไงอ่ะ
หน้า: [1]   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: เอาค่าจากตัวแปลใน function ยังไงอ่ะ  (อ่าน 2538 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
hurahura
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 867



ดูรายละเอียด
« เมื่อ: 14 กรกฎาคม 2007, 01:10:48 »

<?
function myfunction($ver){
   if ($ver == 1) { $a=5;   $b=6;   $c=9;   $d=4;   $e=1;   $f=6;   $g=2;   $h=1; }
   if ($ver == 2) { $a=1;   $b=4;   $c=2;   $d=8;   $e=7;   $f=7;   $g=3;   $h=8; }
   if ($ver == 3) { $a=8;   $b=1;   $c=1;   $d=5;   $e=6;   $f=7;   $g=4;   $h=3; }
}
echo "$a $b $c $d";
?>

แบบนี้ ค่าไม่ออกเพราะว่า มันเป็นตัวแปลใน function

คือถ้าคิดแบบยากๆมันก็มีหลายวิธีอยู่ อย่างเช่น เอาค่า $a-$h มารวมกันเป็น array แล้ว return ค่า array นั้นออกมาแล้ว แล้วก็มาแยก array นั้นทีละตัวใส่ตัวแปร แล้วค่อยเอาไปใช้ แต่ผมว่ามันน่าจะมีวิธีง่ายกว่านั้น เลยมาลองถามดู
บันทึกการเข้า
Pipo
Newbie
*

พลังน้ำใจ: 8
ออฟไลน์ ออฟไลน์

กระทู้: 99



ดูรายละเอียด เว็บไซต์
« ตอบ #1 เมื่อ: 14 กรกฎาคม 2007, 02:48:35 »

<?
function myfunction($ver){
   if ($ver == 1) { $a=5;   $b=6;   $c=9;   $d=4;   $e=1;   $f=6;   $g=2;   $h=1; }
   if ($ver == 2) { $a=1;   $b=4;   $c=2;   $d=8;   $e=7;   $f=7;   $g=3;   $h=8; }
   if ($ver == 3) { $a=8;   $b=1;   $c=1;   $d=5;   $e=6;   $f=7;   $g=4;   $h=3; }
}
echo "$a $b $c $d";
?>

แบบนี้ ค่าไม่ออกเพราะว่า มันเป็นตัวแปลใน function

คือถ้าคิดแบบยากๆมันก็มีหลายวิธีอยู่ อย่างเช่น เอาค่า $a-$h มารวมกันเป็น array แล้ว return ค่า array นั้นออกมาแล้ว แล้วก็มาแยก array นั้นทีละตัวใส่ตัวแปร แล้วค่อยเอาไปใช้ แต่ผมว่ามันน่าจะมีวิธีง่ายกว่านั้น เลยมาลองถามดู


<?

myfunction(2);
echo "$a $b $c $d";

function myfunction($ver){
   global $a,$b,$c,$d;
   if ($ver == 1) { $a=5;   $b=6;   $c=9;   $d=4;   $e=1;   $f=6;   $g=2;   $h=1; }
   if ($ver == 2) { $a=1;   $b=4;   $c=2;   $d=8;   $e=7;   $f=7;   $g=3;   $h=8; }
   if ($ver == 3) { $a=8;   $b=1;   $c=1;   $d=5;   $e=6;   $f=7;   $g=4;   $h=3; }
}

?>
บันทึกการเข้า
thaiseodev
Administrator
สมุนแก๊งเสียว
*

พลังน้ำใจ: 4
ออฟไลน์ ออฟไลน์

กระทู้: 870



ดูรายละเอียด
« ตอบ #2 เมื่อ: 14 กรกฎาคม 2007, 03:10:38 »

<?
function myfunction($ver){
   if ($ver == 1) { $a=5;   $b=6;   $c=9;   $d=4;   $e=1;   $f=6;   $g=2;   $h=1; }
   if ($ver == 2) { $a=1;   $b=4;   $c=2;   $d=8;   $e=7;   $f=7;   $g=3;   $h=8; }
   if ($ver == 3) { $a=8;   $b=1;   $c=1;   $d=5;   $e=6;   $f=7;   $g=4;   $h=3; }
}
echo "$a $b $c $d";
?>

แบบนี้ ค่าไม่ออกเพราะว่า มันเป็นตัวแปลใน function

คือถ้าคิดแบบยากๆมันก็มีหลายวิธีอยู่ อย่างเช่น เอาค่า $a-$h มารวมกันเป็น array แล้ว return ค่า array นั้นออกมาแล้ว แล้วก็มาแยก array นั้นทีละตัวใส่ตัวแปร แล้วค่อยเอาไปใช้ แต่ผมว่ามันน่าจะมีวิธีง่ายกว่านั้น เลยมาลองถามดู


<?

myfunction(2);
echo "$a $b $c $d";

function myfunction($ver){
   global $a,$b,$c,$d;
   if ($ver == 1) { $a=5;   $b=6;   $c=9;   $d=4;   $e=1;   $f=6;   $g=2;   $h=1; }
   if ($ver == 2) { $a=1;   $b=4;   $c=2;   $d=8;   $e=7;   $f=7;   $g=3;   $h=8; }
   if ($ver == 3) { $a=8;   $b=1;   $c=1;   $d=5;   $e=6;   $f=7;   $g=4;   $h=3; }
}

?>

WORK SMART Smiley
บันทึกการเข้า

hurahura
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 867



ดูรายละเอียด
« ตอบ #3 เมื่อ: 14 กรกฎาคม 2007, 05:40:19 »

ขอบคุณมากครับ  Smiley

ดีนะที่มาถามก่อน ไม่งั้นคงเขียนแบบยาวๆ ไปโดยไม่จำเป็น
บันทึกการเข้า
okgofun
ก๊วนเสียว
*

พลังน้ำใจ: 1
ออฟไลน์ ออฟไลน์

กระทู้: 396



ดูรายละเอียด
« ตอบ #4 เมื่อ: 14 กรกฎาคม 2007, 11:48:52 »

ลองเก็บเป็น array ไว้ก็ได้นะครับ เผือเอาไว้ใช้ประโยชน์อื่นๆสำหรับค่าของตัวแปรนั้นๆ

function myfunction($ver){
   $arr = array() ;
   if ($ver == 1) {
       $arr['a']=5;   $arr['b']=6;   $arr['c']=9;   $arr['d']=4;   $arr['e']=1;
      /* ค่าอื่นๆเก็บลง array ไปเรื่อยๆ */
   }
   if ($ver == 2) {
       $arr['a']=1;   $arr['b']=4;   $arr['c']=2;   $arr['d']=8;   $arr['e']=7;   $arr['f']=7;   
       /* ตัวแปรอื่นๆ */
   }
   if ($ver == 3) {
        $arr['a']=8;   $arr['b']=1;   $arr['c']=1;   $arr['d']=5;   $arr['e']=6;   $arr['f']=7;   $arr ['g']=4;   $arr['h']=3; // อันนี้เขียนให้ครบแหะๆ
   }
 
    return $arr ; // ส่งค่าออก

} // end functon

$myvars = myfunction($ver) ;

echo $myvars['a'] ; // อันนี้แสดงค่า a
echo $myvars['b'] ; // ค่า b

ประมาณนี้นะครับ
บันทึกการเข้า

จะต้องทำให้ได้เดือนละอย่างต่ำ $1,000 แล้วก็ไม่โดนแบน
kengz
คนรักเสียว
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 169



ดูรายละเอียด เว็บไซต์
« ตอบ #5 เมื่อ: 14 กรกฎาคม 2007, 15:46:09 »

ว่าแต่ function นี้ ทำไว้ทำไมอ่ะ
บันทึกการเข้า
hurahura
สมุนแก๊งเสียว
*

พลังน้ำใจ: 20
ออฟไลน์ ออฟไลน์

กระทู้: 867



ดูรายละเอียด
« ตอบ #6 เมื่อ: 14 กรกฎาคม 2007, 17:53:25 »

ว่าแต่ function นี้ ทำไว้ทำไมอ่ะ

ก็ไว้ส่งค่าไป 1 ตัว แต่คืนค่ามาเป็นชุด
จะได้ไม่ต้องไปแก้ทีละตัว
บันทึกการเข้า
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,852



ดูรายละเอียด เว็บไซต์
« ตอบ #7 เมื่อ: 14 กรกฎาคม 2007, 23:37:31 »

<?
function myfunction($ver){
   if ($ver == 1) { $a=5;   $b=6;   $c=9;   $d=4;   $e=1;   $f=6;   $g=2;   $h=1; }
   if ($ver == 2) { $a=1;   $b=4;   $c=2;   $d=8;   $e=7;   $f=7;   $g=3;   $h=8; }
   if ($ver == 3) { $a=8;   $b=1;   $c=1;   $d=5;   $e=6;   $f=7;   $g=4;   $h=3; }
}
echo "$a $b $c $d";
?>

แบบนี้ ค่าไม่ออกเพราะว่า มันเป็นตัวแปลใน function

คือถ้าคิดแบบยากๆมันก็มีหลายวิธีอยู่ อย่างเช่น เอาค่า $a-$h มารวมกันเป็น array แล้ว return ค่า array นั้นออกมาแล้ว แล้วก็มาแยก array นั้นทีละตัวใส่ตัวแปร แล้วค่อยเอาไปใช้ แต่ผมว่ามันน่าจะมีวิธีง่ายกว่านั้น เลยมาลองถามดู


function myfunction($ver){
$ar[1] = array('1', 2', '3');
$ar[2] = array('4', 5', '6');
return $ar[$ver];
}
บันทึกการเข้า

kengz
คนรักเสียว
*

พลังน้ำใจ: 2
ออฟไลน์ ออฟไลน์

กระทู้: 169



ดูรายละเอียด เว็บไซต์
« ตอบ #8 เมื่อ: 15 กรกฎาคม 2007, 01:45:19 »

ยังงั้นส่งกลับมาเป็น array เลยครับ
ซึ่ง array ของ php ใช้ string ชี้ index แทนตัวเลขได้ (จริง ๆ มันคือ hash)

เช่น
function getConfig($var)
{
   switch($var)
   {
      case 1:
         $config['a'] = 1;
         $config['b'] = 2;
         $config['c'] = 3;
         break;
      case 2:
         $config['a'] = 4;
         $config['b'] = 5;
         $config['c'] = 6;
         break;
   }
   return $config;
}

เวลาเรียกใช้ก็
$config = getConfig(1);
$a = $config['a']; หรืออะไร ก็ว่าไป

หรือหากต้องการใส่ตัวแปร a b c d จริง ๆ ละก็
นี่เลย

list($a,$b,$c,$d,$e,$f,$g,$h) = myfunction();
echo "$a,$b,$c,$d,$e,$f,$g,$h";
function myfunction($ver){
   if ($ver == 1) { return array(5,6,9,4,1,6,2,1); }
   if ($ver == 2) { return array(1,4,2,8,7,7,3,8); }
   if ($ver == 3) { return array(8,1,1,5,6,7,4,3); }
}
บันทึกการเข้า
Despeckle
คนรักเสียว
*

พลังน้ำใจ: 0
ออฟไลน์ ออฟไลน์

กระทู้: 135



ดูรายละเอียด เว็บไซต์
« ตอบ #9 เมื่อ: 15 กรกฎาคม 2007, 01:57:34 »

list($a,$b,$c,$d,$e,$f,$g,$h) = myfunction(1);
echo "$a,$b,$c,$d,$e,$f,$g,$h";

function myfunction($ver) {
   if ($ver == 1) { return array(5,6,9,4,1,6,2,1); }
   if ($ver == 2) { return array(1,4,2,8,7,7,3,8); }
   if ($ver == 3) { return array(8,1,1,5,6,7,4,3); }
}

แบบนี้แหละครับสั้นและทำงานเร็วสุด
บันทึกการเข้า

ColdMoney
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 200
ออฟไลน์ ออฟไลน์

กระทู้: 12,548



ดูรายละเอียด เว็บไซต์
« ตอบ #10 เมื่อ: 15 กรกฎาคม 2007, 11:06:33 »

list($a,$b,$c,$d,$e,$f,$g,$h) = myfunction(1);
echo "$a,$b,$c,$d,$e,$f,$g,$h";

function myfunction($ver) {
   if ($ver == 1) { return array(5,6,9,4,1,6,2,1); }
   if ($ver == 2) { return array(1,4,2,8,7,7,3,8); }
   if ($ver == 3) { return array(8,1,1,5,6,7,4,3); }
}

แบบนี้แหละครับสั้นและทำงานเร็วสุด

ผมก็ชอบแบบนี้ครับ  Smiley


บันทึกการเข้า

หน้า: [1]   ขึ้นบน
พิมพ์