|
|
|
การใช้ if กำหนด ค่าระหว่างกัน ทำได้ไหมครับ หรือมีวิธี แนะนำบ้างไหม |
|
|
|
|
|
|
|
$students >=20 && $students <=50
เรามั่วนะ
|
ประวัติการแก้ไข 2011-08-13 12:47:49
|
|
|
|
Date :
2011-08-13 12:46:50 |
By :
fasaiaya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอเค ครับ แต่หากผม เขียน โดยใ้ช้ if แบบ ด้านล่างนี้ มันถูกต้อง หรือไม่ครับ
หรือ จะใช้ if และ else if ผสมกัน จะดีกว่าไหมครับ ที่ผมทำไว้ เป็นอย่างนี้ครับ
Code (PHP)
if($students<=20){
redirect("?action=product");
}
if(($students>20) && ($students <=40)) {
redirect("?action=product2");
}
if(($students>40) && ($students <=60)) {
redirect("?action=product3");
}
if(($students >60) && ($students<=80)) {
redirect("?action=product4");
}
if(($students>80) && ($students<=100)) {
redirect("?action=product5");
}
ซึ่งผมดูแล้ว น่าจะใช้ if กับ else if จะดีกว่าหรือไม่ครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2011-08-13 13:44:01 |
By :
สมบัติ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าตามโครงสร้าง ก็ควรจะใช้ if(){....} else if(){...} else{...} นะครับผมว่า
|
ประวัติการแก้ไข 2011-08-13 13:49:43
|
|
|
|
Date :
2011-08-13 13:48:55 |
By :
arm8957 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เราใช้ if กับ else if
|
|
|
|
|
Date :
2011-08-13 13:50:04 |
By :
fasaiaya |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เขียนตัวอย่าง ให้หน่อยสิครับ คือว่า ผม สับสน กับ เรื่องนี้ มาก ๆ เลยครับ
ขอบคุณครับ
|
|
|
|
|
Date :
2011-08-13 14:02:39 |
By :
สมบัติ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
if($students<=20){
redirect("?action=product");
} elseif(($students>20) && ($students <=40)) {
redirect("?action=product2");
} elseif(($students>40) && ($students <=60)) {
redirect("?action=product3");
} elseif(($students >60) && ($students<=80)) {
redirect("?action=product4");
} elseif(($students>80) && ($students<=100)) {
redirect("?action=product5");
}
|
|
|
|
|
Date :
2011-08-13 14:35:52 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
กรณีที่มีมากๆ และเป็น if pattern เดียวกัน สามารถใช้ array ช่วยก็ได้ เช่น
> 20 && <= 40
> 40 && <= 60
> 60 && <= 80
> 80 && <= 100
> 100 && <= 120
... ไปเรื่อยๆ แบบนี้มันเงื่อนไขเหมือนกัน ต่างกันแค่ตัวเลข ก็จับมันยัดใส่ array แล้ววน foreach ทีเดียวเลย
Code (PHP)
<?php
$val = (isset($_POST['val']) ? $_POST['val'] : "");
$chk = array("1" => array("a" => "20", "b" =>"40", "r" => "product2"),
"2" => array("a" => "40", "b" => "60", "r" => "product3"),
"3" => array("a" => "60", "b" => "80", "r" => "product4"),
"4" => array("a" => "80", "b" => "100", "r" => "product5"),
"5" => array("a" => "100", "b" => "120", "r" => "product6"),
"6" => array("a" => "120", "b" => "140", "r" => "product7")
);
if ( $_POST ) {
foreach ( $chk as $key => $item ) {
if ( ($val > $item['a']) && ($val <= $item['b']) ) {
echo $item['r'];
}
}
}
?>
<form method="post">
<input type="text" name="val" /><input type="submit" value="go" />
</form>
|
|
|
|
|
Date :
2011-08-13 14:54:08 |
By :
mr.v |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าลองใช้ Switch case อาจจะทำเป็น function ก็ได้ครับ เช่น
Code (PHP)
function Ckstu($student){
switch ($student) {
case ($student <= 20):
echo "น้อยกว่าหรือเท่ากับ 20";
break;
case ($student >20 AND $student <=40):
echo "อยู่ระหว่าง 20-40";
break;
case ($student >40 AND $student <=60):
echo "อยู่ระหว่าง 40-60";
break;
case ($student >60 AND $student <=80):
echo "อยู่ระหว่าง 60-80";
break;
}
}
echo Ckstu(15);
|
|
|
|
|
Date :
2011-08-13 14:59:18 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
โอเค ครับ ขอบคุณ พี่ ๆ ทั้งหมดครับ ทำได้ตามต้องการ แล้วครับ
บาย .....
|
|
|
|
|
Date :
2011-08-13 17:57:09 |
By :
สมบัติ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 04
|