<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Php LifeStyle :My Php and My LifeStyle &#187; switch</title>
	<atom:link href="http://www.phplifestyle.com/tag/switch/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phplifestyle.com</link>
	<description>PHP Security and Optimization</description>
	<lastBuildDate>Mon, 05 Apr 2010 22:22:19 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ต่างเส้นทางปลายทางเดียวกัน</title>
		<link>http://www.phplifestyle.com/72/%e0%b8%95%e0%b9%88%e0%b8%b2%e0%b8%87%e0%b9%80%e0%b8%aa%e0%b9%89%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b8%9b%e0%b8%a5%e0%b8%b2%e0%b8%a2%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b9%80%e0%b8%94%e0%b8%b5%e0%b8%a2/</link>
		<comments>http://www.phplifestyle.com/72/%e0%b8%95%e0%b9%88%e0%b8%b2%e0%b8%87%e0%b9%80%e0%b8%aa%e0%b9%89%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b8%9b%e0%b8%a5%e0%b8%b2%e0%b8%a2%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b9%80%e0%b8%94%e0%b8%b5%e0%b8%a2/#comments</comments>
		<pubDate>Sun, 09 Nov 2008 17:11:37 +0000</pubDate>
		<dc:creator>tumaji</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[if]]></category>
		<category><![CDATA[switch]]></category>
		<category><![CDATA[without if and switch]]></category>

		<guid isPermaLink="false">http://www.phplifestyle.com/?p=72</guid>
		<description><![CDATA[ขึ้นชื่อเรื่องยังกับละครหลังข่าวอ่านจะทำให้หลายคนเข้าใจไปว่าเข้าเว็บผิด ช้าก่อนยังไม่ผิดที่ตังชื่อแบบนี้เพราะมันมีที่มาและก็เกี่ยวกับ PHP ด้วย
จากเมื่อวันที่ 29-31 ต.ค. 2551 ผมได้ไปเป็นวิทยากรอบรม Basic PHP ให้กับหน่วยงานแห่งหนึ่งและในวันแรกของการอบรมได้ตังโจทย์ให้ผู้อบรมได้ลองเขียนโปรแกรมง่ายๆโดยมีคำสั่งดังนี้

1. ให้สร้าง Array เก็บชื่อเดือน แล้วทำการแสดงผลด้วย Loop for โดยกำหนดเงื่อนไขให้ เดือนที่ 7 แสดงอักษรสีน้ำเงิน
2. ให้สร้าง Array เก็บชื่อวัน แล้วทำการแสดงผลด้วย Loop foreach โดยกำหนดเงื่อนให้แสดงสีตัวอักษรตามวัน เช่น วันจันทร์แสดงตัวอักษรสีเหลือง

ซึ่งจริงๆแล้วมันก็ไม่น่าจะมีปัญหาอะไรข้อแรกก็จะเขียนออกมาได้ประมาณนี้

&#60; ?
$month =array('มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม') ;

for($i=0,$max=count($month);$i&#60;$max ;$i++)
{
     if($i == 6)
    {
        echo '&#60;font color=blue&#62;',$month[$i] [...]]]></description>
			<content:encoded><![CDATA[<p>ขึ้นชื่อเรื่องยังกับละครหลังข่าวอ่านจะทำให้หลายคนเข้าใจไปว่าเข้าเว็บผิด ช้าก่อนยังไม่ผิดที่ตังชื่อแบบนี้เพราะมันมีที่มาและก็เกี่ยวกับ PHP ด้วย<br />
จากเมื่อวันที่ 29-31 ต.ค. 2551 ผมได้ไปเป็นวิทยากรอบรม Basic PHP ให้กับหน่วยงานแห่งหนึ่งและในวันแรกของการอบรมได้ตังโจทย์ให้ผู้อบรมได้ลองเขียนโปรแกรมง่ายๆโดยมีคำสั่งดังนี้<br />
<code><br />
1. ให้สร้าง Array เก็บชื่อเดือน แล้วทำการแสดงผลด้วย Loop for โดยกำหนดเงื่อนไขให้ เดือนที่ 7 แสดงอักษรสีน้ำเงิน<br />
2. ให้สร้าง Array เก็บชื่อวัน แล้วทำการแสดงผลด้วย Loop foreach โดยกำหนดเงื่อนให้แสดงสีตัวอักษรตามวัน เช่น วันจันทร์แสดงตัวอักษรสีเหลือง<br />
</code><br />
ซึ่งจริงๆแล้วมันก็ไม่น่าจะมีปัญหาอะไรข้อแรกก็จะเขียนออกมาได้ประมาณนี้</p>
<pre name=code class=php>
&lt; ?
$month =array('มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','กรกฎาคม','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม') ;

for($i=0,$max=count($month);$i&lt;$max ;$i++)
{
     if($i == 6)
    {
        echo '&lt;font color=blue&gt;',$month[$i] , '&lt;br /&gt;' ;
    }
    else
    {
        echo $month[$i] , "&lt;br&gt;" ;
    }
}
?&gt;
</pre>
<p>และข้อ 2 ก็จะได้แบบนี้</p>
<pre name=code class=php>
&lt; ?
$day = array('วันอาทิตย์','วันจันทร์','วันอังคาร','วันพุธ','วันพฤหัสบดี','วันศุกร์','วันเสาร์') ;
foreach($day as $index =&gt; $value)
{
	switch($index)
	{
		case 0 :
			$color = 'red' ;
		break ;
		case 1 :
			$color = 'yellow' ;
		break ;
		case 2 :
			$color = '#FFCCFF' ;
		break ;
		case 3 :
			$color = '#7FFF7F' ;
		break ;
		case 4 :
			$color = '#FF9900' ;
		break ;
		case 5 :
			$color = '#3333FF' ;
		break ;
		default :
			$color = '#993399' ;
		break ;
	}
	echo '&lt;font color=',$color,'&gt;',$value,'&lt;/font&gt;&lt;br&gt;' ;
}
</pre>
<p><strong>แต่ปัญหามันเกิดเพราะผมดันลืมสอนเรื่อง if และ switch </strong>เอาหล่ะสิแบบนี้จะทำยังไงถ้าเราไม่มี if กับ switch ใช้<br />
แนวทางการแก้ปัญหาในข้อแรกง่ายๆก็ใส่สีใน Array เลยก็สิ้นเรื่อง แบบนี้ง่ายและทำงานได้เร็วกว่าเพราะไม่ต้องมาเช็คเงื่อนไข โดยจะสามารถเขียน code ได้แบบนี้</p>
<pre name=code class=php>
&lt; ?
$month =array('มกราคม','กุมภาพันธ์','มีนาคม','เมษายน','พฤษภาคม','มิถุนายน','&lt;font color=blue&gt;กรกฎาคม&lt;/font&gt;','สิงหาคม','กันยายน','ตุลาคม','พฤศจิกายน','ธันวาคม') ;

for($i=0,$max=count($month);$i&lt; $max ;$i++)
{
      echo $month[$i]  ;
}
?&gt;
</pre>
<p>เป็นไงหล่ะทำงานได้เหมือนกันตรงตามคำสั่งด้วย แล้วถ้าเป็นข้อ 2 หล่ะจะทำเหมือนกันมั้ย! ไม่แน่นอนเพราะมันจะดูขี้เหล่ไปผมใช้วิธีสร้าง Array อีกตัวในการเก็บสีของวันและจัดให้มันมี Index ตรงกับ Index ของวันเท่านี้เราก็สามารถแสดงสีตามวันได้โดยไม่ต้องใช้ switch และสิ่งที่ตามมาโปรแกรมจะทำงานได้เร็วกว่าการใช้ switch อีกด้วยและยังเขียนสั้นกว่าเยอะ</p>
<pre name=code class=php>
&lt; ?
$day = array('วันอาทิตย์','วันจันทร์','วันอังคาร','วันพุธ','วันพฤหัสบดี','วันศุกร์','วันเสาร์') ;
$daycolor = array('red','yellow','#FFCCFF','#7FFF7F','#FF9900','#3333FF','#993399') ;
foreach($day as $index =&gt; $value)
{
 echo '&lt;font color=',$daycolor[$index],'&gt;',$value,'&lt;/font&gt;&lt;br&gt;' ;
}
?&gt;
</pre>
<p>สิ่งที่จะสื่อให้เห็นในบทความนี้คือ <em>ในการเขียนโปรแกรมเราสามารถเขียนได้หลายวิธีเพื่อให้ได้สิ่งที่ต้องการทำงาน </em>และก็จะขึ้นอยู่กับพื้นฐานของแต่ละคนว่าจะเลือกวิธีการไหน ถ้าคนที่มีประสบการณ์และมีพื้นฐานที่ดีจะเลือกเขียนแบบกระชับดูง่ายและที่สำคัญทำงานได้เร็วแล้วกินทรัพยากรน้อยโดยเฉพาะการเขียน Web Application <strong>ดังนั้นไม่ต้องแปลกใจเลยว่าทำไมสมัยเรียนเวลาส่งงานอาจารย์ถึงโดนจับได้ว่า copy code มาส่ง</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.phplifestyle.com/72/%e0%b8%95%e0%b9%88%e0%b8%b2%e0%b8%87%e0%b9%80%e0%b8%aa%e0%b9%89%e0%b8%99%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b8%9b%e0%b8%a5%e0%b8%b2%e0%b8%a2%e0%b8%97%e0%b8%b2%e0%b8%87%e0%b9%80%e0%b8%94%e0%b8%b5%e0%b8%a2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
