โจทย์ข้อนี้จะเป็นการแนะนำเรื่องการใช้ตัวแปร และฟังก์ชั่นสำหรับแก้โจทย์ปัญหาที่ให้มานี้ ถ้าดูจากรูป จะเห็น วันที่, กล่อง สี่ใบ ซึ่งจะเป็ฯคนละสี และของสี่อย่างที่อยู่ในกล่องแต่ละใบ
การประกาศตัวแปร
จะประกอบด้วยตัวแปรที่ใช้แทนวันที่ปัจจุบัน และตัวแปรที่ใช้แทนกล่องแต่ละใบ
<?php
$today = '';
$redBox = '';
$yellowBox = '';
$greenBox = '';
$blueBox = '';
?>
การเขียนโค๊ด PHP แบบที่ 1
ตรวจสอบเงื่อนไขวันที่ด้วย if...else
ในแต่ละวันจะต้องย้ายของในกล่อง ให้ตรงกับสี ซึ่งกำหนดไว้สี่วันด้วยกัน คือ
วันที่ 10 มี.ค. 2556
- นำ Cat ใส่ลงในกล่องสีแดง
- นำ Rat ใส่กล่องสีเหลือง
- นำ Bat ใส่กล่องสีเขียว
- นำ Hat ใส่กล่องสีฟ้า
<?php
if( $today == '2013-03-10'){
$redBox = 'Cat';
$yellowBox = 'Rat';
$greenBox = 'Bat';
$blueBox = 'Hat';
}
?>
วันที่ 11 มี.ค. 2556
ให้เลื่อนของแต่ละชิ้นไปยังกล่องถัดไป ซึ่ง Cat จะไปอยู่ในกล่องสีเหลือง
<?php
if( $today == '2013-03-10'){
//................
} else if( $today == '2013-03-11'){
$redBox = 'Hat';
$yellowBox = 'Cat';
$greenBox = 'Rat';
$blueBox = 'Bat';
}
?>
ให้เลื่อนของแต่ละชิ้นไปยังกล่องถัดไป ซึ่ง Cat จะไปอยู่ในกล่องสีเขียว
<?php
if( $today == '2013-03-10'){
//................
} else if( $today == '2013-03-11'){
//................
} else if( $today == '2013-03-12'){
$redBox = 'Bat';
$yellowBox = 'Hat';
$greenBox = 'Cat';
$blueBox = 'Rat';
}
?>
วันที่ 13 มี.ค. 2556
ให้เลื่อนของแต่ละชิ้นไปยังกล่องถัดไป ซึ่ง Cat จะไปอยู่ในกล่องสีฟ้า
<?php
if( $today == '2013-03-10'){
//................
} else if( $today == '2013-03-11'){
//................
} else if( $today == '2013-03-12'){
//................
} else if( $today == '2013-03-13'){
$redBox = 'Rat';
$yellowBox = 'Bat';
$greenBox = 'Hat';
$blueBox = 'Cat';
}
?>
เราสามารถเรียกดูผลลัพธ์โดยการกำหนด $today ให้เป็นวันทึ่ต่างๆ
แล้วลองใช้คำสั่ง echo ดูผลลัพธ์ที่ได้
<?php
$today = '2013-03-12';//กำหนดวันที่
if( $today == '2013-03-10'){
$redBox = 'Cat';
$yellowBox = 'Rat';
$greenBox = 'Bat';
$blueBox = 'Hat';
} else if( $today == '2013-03-11'){
$redBox = 'Hat';
$yellowBox = 'Cat';
$greenBox = 'Rat';
$blueBox = 'Bat';
} else if( $today == '2013-03-12'){
$redBox = 'Bat';
$yellowBox = 'Hat';
$greenBox = 'Cat';
$blueBox = 'Rat';
} else if( $today == '2013-03-13'){
$redBox = 'Rat';
$yellowBox = 'Bat';
$greenBox = 'Hat';
$blueBox = 'Cat';
}
echo '';
echo 'กล่องสีแดง => '. $redBox ."\n";
echo 'กล่องสีเหลือง => '. $yellowBox ."\n";
echo 'กล่องสีเขียว => '. $greenBox ."\n";
echo 'กล่องสีฟ้า => '. $blueBox ."\n";
echo '
';
?>
จากโค๊ด เมื่อเปลี่ยนค่าของตัวแปร $today ให้ตรงกับวันที่ในเงื่อนไข if else ก็จะเห็นค่าที่อยู่ในกล่องแต่ละกล่องเปลี่ยนไปตามวันที่ทีเราต้องการ หากวันที่ไม่ตรงกับเงื่อนไขที่กำหนด ก็จะไม่มีการขนย้ายสิ่งของใส่กล่อง ภายในกล่องก็จะว่างเปล่า
______________________ การเขียนโค๊ด PHP แบบที่ 2 _____________________________
ตรวจสอบเงื่อนไขวันที่ด้วย switch_case (อย่าลืมติด break; ด้วยนะครับ)
<?php
$today = '2013-03-12';//กำหนดวันที่
switch( $today ){
case '2013-03-10':
$redBox = 'Cat';
$yellowBox = 'Rat';
$greenBox = 'Bat';
$blueBox = 'Hat';
break;
case '2013-03-11':
$redBox = 'Hat';
$yellowBox = 'Cat';
$greenBox = 'Rat';
$blueBox = 'Bat';
break;
case '2013-03-12':
$redBox = 'Bat';
$yellowBox = 'Hat';
$greenBox = 'Cat';
$blueBox = 'Rat';
break;
case '2013-03-13':
$redBox = 'Rat';
$yellowBox = 'Bat';
$greenBox = 'Hat';
$blueBox = 'Cat';
break;
}
echo '';
echo 'กล่องสีแดง => '. $redBox ."\n";
echo 'กล่องสีเหลือง => '. $yellowBox ."\n";
echo 'กล่องสีเขียว => '. $greenBox ."\n";
echo 'กล่องสีฟ้า => '. $blueBox ."\n";
echo '
';
?>
แบบที่ 2 นี้จะเขียนโค๊ด PHP ได้สบายตา ดูเป็นระเบียบดีกว่าแบบแรก
ประกาศตัวแปร Array ตามวันที่และเรียกใช้ตามชื่อกล่อง
<?php
$arrayBox = array();
$arrayBox['2013-03-10'] = array( 'red'=>'Cat', 'yellow'=>'Rat', 'green'=>'Bat', 'blue'=>'Hat' );
$arrayBox['2013-03-11'] = array( 'red'=>'Hat', 'yellow'=>'Cat', 'green'=>'Rat', 'blue'=>'Bat' );
$arrayBox['2013-03-12'] = array( 'red'=>'Bat', 'yellow'=>'Hat', 'green'=>'Cat', 'blue'=>'Rat' );
$arrayBox['2013-03-13'] = array( 'red'=>'Rat', 'yellow'=>'Bat', 'green'=>'Hat', 'blue'=>'Cat' );
$today = '2013-03-12';//กำหนดวันที่
echo '';
echo 'กล่องสีแดง => '. $arrayBox[$today]['red'] ."\n";
echo 'กล่องสีเหลือง => '. $arrayBox[$today]['yellow'] ."\n";
echo 'กล่องสีเขียว => '. $arrayBox[$today]['green'] ."\n";
echo 'กล่องสีฟ้า => '. $arrayBox[$today]['blue'] ."\n";
echo '
';
?>





ความคิดเห็น
แสดงความคิดเห็น