<?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>S i X h E a D { ? } &#187; PHP</title>
	<atom:link href="http://sixhead.com/tag/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://sixhead.com</link>
	<description>เมื่อความรู้มีไว้แบ่งปัน</description>
	<lastBuildDate>Tue, 23 Feb 2010 14:36:26 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>ลองเล่นกับตัวแปรแบบแปลกๆ</title>
		<link>http://sixhead.com/2008/04/09/php-var-with-other-way/</link>
		<comments>http://sixhead.com/2008/04/09/php-var-with-other-way/#comments</comments>
		<pubDate>Wed, 09 Apr 2008 13:17:47 +0000</pubDate>
		<dc:creator>Pipo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[var]]></category>

		<guid isPermaLink="false">http://sixhead.com/?p=42</guid>
		<description><![CDATA[ลองเล่นแปลกๆ กันดูกับตัวแปรใน PHP
$DeliveryType		=	&#34;Mail&#34;;
#$DeliveryType		=	&#34;Messenger&#34;;
&#160;
$MailCharge		=	10;
$MessengerCharge	=	50;
&#160;
echo $&#123;$DeliveryType.&#34;Charge&#34;&#125;;
ผลลัพท์ ของ script ด้านบนจะเป็น

10
แต่ถ้า เปลี่ยนเป็นแบบนี้
#$DeliveryType		=	&#34;Mail&#34;;
$DeliveryType		=	&#34;Messenger&#34;;
&#160;
$MailCharge		=	10;
$MessengerCharge	=	50;
&#160;
echo $&#123;$DeliveryType.&#34;Charge&#34;&#125;;
ผลลัพท์ ของ script ด้านบนจะเป็น 
50
คือ php มันจะเอา string มาต่อกันแล้วไปดึงตัวแปรอีกทีถ้านึกภาพไม่ออกมันจะออกมาลักษณะนี้
$&#123;$DeliveryType.&#34;Charge&#34;&#125;;
ก็คือ
$&#123;Mail.&#34;Charge&#34;&#125;;
จะได้ตัวแปร $MailCharge ออกมาในตอนสุดท้าย
คิดว่าเป็นประโยชน์กับบางงาน ลองเอาไปเล่นดู



]]></description>
			<content:encoded><![CDATA[<p>ลองเล่นแปลกๆ กันดูกับตัวแปรใน PHP</p>
<pre class="php"><span style="color: #0000ff;">$DeliveryType</span>		=	<span style="color: #ff0000;">&quot;Mail&quot;</span>;
<span style="color: #808080; font-style: italic;">#$DeliveryType		=	&quot;Messenger&quot;;</span>
&nbsp;
<span style="color: #0000ff;">$MailCharge</span>		=	<span style="color: #cc66cc;">10</span>;
<span style="color: #0000ff;">$MessengerCharge</span>	=	<span style="color: #cc66cc;">50</span>;
&nbsp;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> $<span style="color: #66cc66;">&#123;</span><span style="color: #0000ff;">$DeliveryType</span>.<span style="color: #ff0000;">&quot;Charge&quot;</span><span style="color: #66cc66;">&#125;</span>;</pre>
<p>ผลลัพท์ ของ script ด้านบนจะเป็น<br />
<span id="more-42"></span></p>
<pre>10</pre>
<p>แต่ถ้า เปลี่ยนเป็นแบบนี้</p>
<pre class="php"><span style="color: #808080; font-style: italic;">#$DeliveryType		=	&quot;Mail&quot;;</span>
<span style="color: #0000ff;">$DeliveryType</span>		=	<span style="color: #ff0000;">&quot;Messenger&quot;</span>;
&nbsp;
<span style="color: #0000ff;">$MailCharge</span>		=	<span style="color: #cc66cc;">10</span>;
<span style="color: #0000ff;">$MessengerCharge</span>	=	<span style="color: #cc66cc;">50</span>;
&nbsp;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> $<span style="color: #66cc66;">&#123;</span><span style="color: #0000ff;">$DeliveryType</span>.<span style="color: #ff0000;">&quot;Charge&quot;</span><span style="color: #66cc66;">&#125;</span>;</pre>
<p>ผลลัพท์ ของ script ด้านบนจะเป็น </p>
<pre>50</pre>
<p>คือ php มันจะเอา string มาต่อกันแล้วไปดึงตัวแปรอีกทีถ้านึกภาพไม่ออกมันจะออกมาลักษณะนี้</p>
<pre class="php">$<span style="color: #66cc66;">&#123;</span><span style="color: #0000ff;">$DeliveryType</span>.<span style="color: #ff0000;">&quot;Charge&quot;</span><span style="color: #66cc66;">&#125;</span>;
ก็คือ
$<span style="color: #66cc66;">&#123;</span><a href="http://www.php.net/mail"><span style="color: #000066;">Mail</span></a>.<span style="color: #ff0000;">&quot;Charge&quot;</span><span style="color: #66cc66;">&#125;</span>;
จะได้ตัวแปร <span style="color: #0000ff;">$MailCharge</span> ออกมาในตอนสุดท้าย</pre>
<p>คิดว่าเป็นประโยชน์กับบางงาน ลองเอาไปเล่นดู</p>
<p><map name='google_ad_map_42_f21c57aff87a446f'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/42?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_42_f21c57aff87a446f' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=42&amp;url= http%3A%2F%2Fsixhead.com%2F2008%2F04%2F09%2Fphp-var-with-other-way%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://sixhead.com/2008/04/09/php-var-with-other-way/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ลองเล่นกัน eval()</title>
		<link>http://sixhead.com/2008/02/27/php-eval/</link>
		<comments>http://sixhead.com/2008/02/27/php-eval/#comments</comments>
		<pubDate>Tue, 26 Feb 2008 17:41:02 +0000</pubDate>
		<dc:creator>Pipo</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[eval]]></category>

		<guid isPermaLink="false">http://sixhead.com/2008/02/27/php-eval/</guid>
		<description><![CDATA[คำจำกัดความแบบให้เข้าใจง่ายๆ เลยก็คือ นำข้อความใน string มารันในแบบ PHP ได้ (ถ้าเป็น javascript, ภาษาอื่นๆ&#160; ก็ทำงานลักษณะเดียวกัน) ยกตัวอย่างง่ายๆ นะครับ ถ้าเราต้องมีสูตรคำนวณหลายๆ สูตรใน 1 project เราก็อาจจะต้องเขียน function สำหรับใช้แต่ละสูตรเลยทีเดียว
 ทำให้ลำบากมากถ้า project นั้นมีสูตรที่ใช้คำนวณเยอะๆ และยิ่งถ้าต้องสามารถเพิ่มเติมสูตรได้ในอนาคตยิ่งไปกันใหญ่ มาดูตัวอย่างง่ายๆ กันเลย
$intN	=	10;
$strCal	=	'(($intN-5)^2) + ((10)^2)';
$strCal	=	preg_replace&#40;&#34;/\((.*?)\^(.*?)\)/&#34;, &#34;pow($1,$2)&#34;, $strCal&#41;;
&#160;
echo $strCal;
echo &#34;\n&#34;;
&#160;
eval&#40;&#34;\$strCal = $strCal;&#34;&#41;;
echo $strCal;
ผลการรันโปรแกรมด้านบน

pow(($intN-5),2) + pow((10),2)
125

อธิบายการทำงานดังนี้
1. จากตัวอย่างเรามี ค่า input คือ $intN โดยมีสูตรคือ (($intN-5)^2) + ((10)^2)
2. ใน PHP ถ้าจะยกกำลังต้องแปลง ^ ให้เป็น function pow() เสียก่อน ก็เลยใช้ [...]]]></description>
			<content:encoded><![CDATA[<p>คำจำกัดความแบบให้เข้าใจง่ายๆ เลยก็คือ นำข้อความใน string มารันในแบบ PHP ได้ (ถ้าเป็น javascript, ภาษาอื่นๆ&nbsp; ก็ทำงานลักษณะเดียวกัน) ยกตัวอย่างง่ายๆ นะครับ ถ้าเราต้องมีสูตรคำนวณหลายๆ สูตรใน 1 project เราก็อาจจะต้องเขียน function สำหรับใช้แต่ละสูตรเลยทีเดียว</p>
<p><span id="more-28"></span> ทำให้ลำบากมากถ้า project นั้นมีสูตรที่ใช้คำนวณเยอะๆ และยิ่งถ้าต้องสามารถเพิ่มเติมสูตรได้ในอนาคตยิ่งไปกันใหญ่ มาดูตัวอย่างง่ายๆ กันเลย</p>
<pre class="php"><span style="color: #0000ff;">$intN</span>	=	<span style="color: #cc66cc;">10</span>;
<span style="color: #0000ff;">$strCal</span>	=	<span style="color: #ff0000;">'(($intN-5)^2) + ((10)^2)'</span>;
<span style="color: #0000ff;">$strCal</span>	=	<a href="http://www.php.net/preg_replace"><span style="color: #000066;">preg_replace</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;/<span style="color: #000099; font-weight: bold;">\(</span>(.*?)<span style="color: #000099; font-weight: bold;">\^</span>(.*?)<span style="color: #000099; font-weight: bold;">\)</span>/&quot;</span>, <span style="color: #ff0000;">&quot;pow($1,$2)&quot;</span>, <span style="color: #0000ff;">$strCal</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$strCal</span>;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
&nbsp;
<a href="http://www.php.net/eval"><span style="color: #000066;">eval</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\$</span>strCal = $strCal;&quot;</span><span style="color: #66cc66;">&#41;</span>;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$strCal</span>;</pre>
<p>ผลการรันโปรแกรมด้านบน</p>
<pre>
pow(($intN-5),2) + pow((10),2)
125
</pre>
<p>อธิบายการทำงานดังนี้<br />
1. จากตัวอย่างเรามี ค่า input คือ $intN โดยมีสูตรคือ (($intN-5)^2) + ((10)^2)<br />
2. ใน PHP ถ้าจะยกกำลังต้องแปลง ^ ให้เป็น function pow() เสียก่อน ก็เลยใช้ regular expression (preg_replace) เข้าช่วย<br />
3. การ echo รอบแรกเพื่อแสดงสูตรที่เปลี่ยนเป็นค่า pow ไปแล้วและพร้อมทำการคำนวณ<br />
4. eval เป็นการสั่งให้ ตัวแปร $strCal นั้นทำการรับค่าจาก $strCal ตัวที่เป็นสูตรอีกที (พอดีตั้งตัวแปรซ้ำกันจะได้ไม่เปลือง)<br />
5. echo รอบ 2 ก็แสดงผลที่ได้จากการสั่ง eval นั่นเอง</p>
<p>ทีนี้การประยุกต์ใช้เหรอครับ จะมีกี่สูตรก็ไม่สนใจแล้ว เก็บแต่ละสูตรลง database ไปเลย แต่อาจจะต้องมีหน้า ทดสอบการรันสูตรใน backend ด้วย จะได้ตรวจสอบการทำงาน ว่าทำได้ถูกต้องหรือไม่</p>
<p><map name='google_ad_map_28_f21c57aff87a446f'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/28?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_28_f21c57aff87a446f' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=28&amp;url= http%3A%2F%2Fsixhead.com%2F2008%2F02%2F27%2Fphp-eval%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://sixhead.com/2008/02/27/php-eval/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>พอกันทีกับการเขียน PHP ต่อ String แบบเดิมๆ</title>
		<link>http://sixhead.com/2008/01/28/php-add-string-with-another-style/</link>
		<comments>http://sixhead.com/2008/01/28/php-add-string-with-another-style/#comments</comments>
		<pubDate>Mon, 28 Jan 2008 16:26:40 +0000</pubDate>
		<dc:creator>Pipo</dc:creator>
				<category><![CDATA[Web Developer]]></category>
		<category><![CDATA[escape character]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[string]]></category>

		<guid isPermaLink="false">http://sixhead.com/2008/01/28/php-add-string-with-another-style/</guid>
		<description><![CDATA[เท่าที่เห็นหนังสือสอนเขียน PHP ทั่วไปจะเขียน tag HTML กันทีต้องใส่ escape character กันที (\n) เห็นแล้วปวดใจเพราะบางคนต้องมานั่งใส่ \ ทีละอัน เข้าขั้นหน่อยก็ใช้ editplus replace &#34; ด้วย \&#34; แต่ที่มันปวดใจที่สุดถ้า programmer คนนั้นต้องเขียน program เพื่อทำงานกับ web designer ด้วยละก็ เศร้าไปกันใหญ่ เพราะมันมองไม่เห็นเป็นหน้าตาใน visual mode (ถ้าใช้ dreamweaver) หรือถึงขั้น layout หน้านั้นเสียไปเลย กลายเป็นคนทำ design ปวดใจแทน มาเข้าเรื่องกันดีกว่า  จากตัวอย่างจะเห็นได้ว่าเดิมๆ เลยเราชินกันแบบนี้

&#60;?
$strString	.=	&#34;&#60;font color=\&#34;#669966\&#34; size=\&#34;2\&#34; face=\&#34;Tahoma\&#34;&#62;\n&#34;;
$strString	.=	&#34;&#60;strong&#62;ทดสอบภาษาไทย&#60;/strong&#62;\n&#34;;
$strString	.=	&#34;ทดสอบภาษาไทย\n&#34;;
$strString	.=	&#34;ทดสอบภาษาไทย\n&#34;;
$strString	.=	&#34;&#60;/font&#62;&#34;;
echo $strString;
?&#62;
ลองวิธีนี้ซิทำงานเร็วขึ้น แถมสะใจอีกต่างหากเพราะ copy จาก dream มาแปะได้เลย
&#60;?
$strString	=	&#60;&#60;&#60;SiXhEaD
&#60;font color=&#34;#669966&#34; size=&#34;2&#34; face=&#34;Tahoma&#34;&#62;
&#60;strong&#62;ทดสอบภาษาไทย&#60;/strong&#62;
ทดสอบภาษาไทย
ทดสอบภาษาไทย
&#60;/font&#62;
SiXhEaD;
echo [...]]]></description>
			<content:encoded><![CDATA[<p>เท่าที่เห็นหนังสือสอนเขียน PHP ทั่วไปจะเขียน tag HTML กันทีต้องใส่ escape character กันที (\n) เห็นแล้วปวดใจเพราะบางคนต้องมานั่งใส่ \ ทีละอัน เข้าขั้นหน่อยก็ใช้ editplus replace &quot; ด้วย \&quot; แต่ที่มันปวดใจที่สุดถ้า programmer คนนั้นต้องเขียน program เพื่อทำงานกับ web designer ด้วยละก็ เศร้าไปกันใหญ่ เพราะมันมองไม่เห็นเป็นหน้าตาใน visual mode (ถ้าใช้ dreamweaver) หรือถึงขั้น layout หน้านั้นเสียไปเลย กลายเป็นคนทำ design ปวดใจแทน มาเข้าเรื่องกันดีกว่า  จากตัวอย่างจะเห็นได้ว่าเดิมๆ เลยเราชินกันแบบนี้</p>
<p><span id="more-12"></span></p>
<pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #0000ff;">$strString</span>	.=	<span style="color: #ff0000;">&quot;&lt;font color=<span style="color: #000099; font-weight: bold;">\&quot;</span>#669966<span style="color: #000099; font-weight: bold;">\&quot;</span> size=<span style="color: #000099; font-weight: bold;">\&quot;</span>2<span style="color: #000099; font-weight: bold;">\&quot;</span> face=<span style="color: #000099; font-weight: bold;">\&quot;</span>Tahoma<span style="color: #000099; font-weight: bold;">\&quot;</span>&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
<span style="color: #0000ff;">$strString</span>	.=	<span style="color: #ff0000;">&quot;&lt;strong&gt;ทดสอบภาษาไทย&lt;/strong&gt;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
<span style="color: #0000ff;">$strString</span>	.=	<span style="color: #ff0000;">&quot;ทดสอบภาษาไทย<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
<span style="color: #0000ff;">$strString</span>	.=	<span style="color: #ff0000;">&quot;ทดสอบภาษาไทย<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
<span style="color: #0000ff;">$strString</span>	.=	<span style="color: #ff0000;">&quot;&lt;/font&gt;&quot;</span>;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$strString</span>;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre>
<p>ลองวิธีนี้ซิทำงานเร็วขึ้น แถมสะใจอีกต่างหากเพราะ copy จาก dream มาแปะได้เลย</p>
<pre class="php"><span style="color: #000000; font-weight: bold;">&lt;?</span>
<span style="color: #0000ff;">$strString</span>	=	&lt;&lt;&lt;SiXhEaD
&lt;font color=<span style="color: #ff0000;">&quot;#669966&quot;</span> size=<span style="color: #ff0000;">&quot;2&quot;</span> face=<span style="color: #ff0000;">&quot;Tahoma&quot;</span>&gt;
&lt;strong&gt;ทดสอบภาษาไทย&lt;/strong&gt;
ทดสอบภาษาไทย
ทดสอบภาษาไทย
&lt;/font&gt;
SiXhEaD;
<a href="http://www.php.net/echo"><span style="color: #000066;">echo</span></a> <span style="color: #0000ff;">$strString</span>;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre>
<p>ใส่ตัวแปรได้เต็มที่ จะง่ายด้วยถ้าต้องทำงานกับ javascript เพราะ มันมีทั้ง ' และ &quot;  ซึ่งถ้าใช้วิธีแรกแค่นึกลำดับการใส่ \ ก็เสียเวลาไปแล้ว  <br />
* มีข้อแม้นิดนึงที่ว่างบรรทัดสุดท้ายก่อน keyword ที่เราใช้ปิด (SiXhEaD;) ต้องชิดซ้ายสุดห้ามมีช่องว่าง</p>
<p><map name='google_ad_map_12_f21c57aff87a446f'>
<area shape='rect' href='http://imageads.googleadservices.com/pagead/imgclick/12?pos=0' coords='1,2,367,28' />
<area shape='rect' href='http://services.google.com/feedback/abg' coords='384,10,453,23'/></map>
<img usemap='#google_ad_map_12_f21c57aff87a446f' border='0' src='http://imageads.googleadservices.com/pagead/ads?format=468x30_aff_img&amp;client=&amp;channel=&amp;output=png&amp;cuid=12&amp;url= http%3A%2F%2Fsixhead.com%2F2008%2F01%2F28%2Fphp-add-string-with-another-style%2F' /></p>]]></content:encoded>
			<wfw:commentRss>http://sixhead.com/2008/01/28/php-add-string-with-another-style/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
