เทคนิคนี้ฝรั่งเขียนไว้ที่ http://www.wmtips.com/php/tips-optimizing-php-code.htm ผมเห็นว่ามีประโยชน์ต่อการจดจำไปปรับใช้ในโปรแกรมที่เราเขียนขึ้น ซึ่งผมจะหยิบเอามาเฉพาะข้อที่ง่ายต่อการทำ สำหรับท่านใดสนใจจะอ่านจากฉบับเต็มก็ตามลิ้งก์ด้านบนไปครับ หากท่านมีความเห็นขัดแย้ง ก็คอมเม้นท์ไว้ด้านล่างนะครับ มาถกกันจะได้เป็นประโยชน์ขึ้นไปอีก

1. ใช้ คำสั่ง echo แทนคำสั่ง print เพราะว่าคำสั่ง echo มันเร็วกว่า
คำสั่ง echo นั้นไม่ใช่ฟังก์ชั่นแท้ สังเกตได้จากตอนใช้งาน เราเขียนว่า echo ‘THANK’; จะเห็นว่าไม่จำเป็นต้องมีวงเล็บเข้ามาช่วย ส่วนคำสั่ง print นั้น เป็นฟังก์ชั่นแท้ๆ

2. หากต้องการ echo ค่าหลายๆค่าออกไปพร้อมกัน ใช้คอมม่าคั่นแต่ละค่าดีกว่าเอาแต่ละค่ามาต่อกันก่อนแล้ว echo
สามารถเขียนอย่างนี้ได้

$title = 'MR.';
$name = 'Platoo';
echo $title,$name;

3. กำหนดค่าสูงสุดสำหรับ for-loops ไว้ก่อน อย่าไปคำนวณใน for
อันนี้ผมว่าบางครั้งเราก็เลี่ยงไม่ได้ ที่จะไปคำณวนค่าสูงสุดเอาใน for เอาเป็นว่าถ้าเลี่ยงได้ก็เลี่ยงครับ

$max = 6;
for($inc=0;$inc<=$max;++$inc)
{
    echo $inc;
}

4. ทำลายตัวแปรทิ้งบ้างหลังจากใช้งานเสร็จเรียบร้อยแล้ว โดยเฉพาะตัวแปรอะเรย์ที่มีขนาดใหญ่ เพื่อคืนค่าหน่วยความจำให้เครื่องเซิฟเวอร์
ในภาษา PHP นั้น คำสั่งที่ใช้สำหรับทำลายตัวแปรทิ้งคือ unset()

unset($title);
unset($name[1]);

ผมไม่แน่ใจว่าวิธีการในข้อนี้มีประโยชน์หรือเปล่านะครับ เพราะว่าภาษา PHP มันมี Garbage Collector เป็นตัวคอยจัดการหน่วยความจำอยู่แล้ว โดยปกติ PHP ไม่เคยเกิดปัญหาเรื่องหน่วยความจำรั่ว ก็ลองพิจารณาเอาครับ

5. ถ้ามี if/elseif ซ้อนกันหลายๆชั้น หันไปใช้ switch/case ดีกว่า
ข้อนี้ผมเห็นด้วยอย่างมาก แล้วเด็กใหม่ชอบใช้ if/elseif เสียด้วย เพราะไม่ค่อยถนัด switch/case บางคน ซ้อน if ซะ คนมาแก้โปรแกรมทีหลัง แทบต้องให้หมอหยอดน้ำเกลือ if/elseif นั้นมันจะไล่เปรียบเทียบมาตั้งแต่ if แรกลงไปเรื่อยๆ จนกว่าจะเจอเงื่อนไขที่เป็นจริง ถ้าเงื่อนไขนั้นอยู่ล่างสุดๆ มันก็ไล่กันนานหน่อย ส่วน switch/case นั้น มันจะกระโดดเข้าเงื่อนไขที่ถูกต้องของมันทันที ซึ่งเร็วกว่า ยกเว้นพวกลืมติดเบรก

6. @ มันช้ามาก
เครื่องหมาย @ เป็นสัญลักษณ์ที่ไว้สำหรับวางไว้หน้าฟังก์ชั่น เพื่อไม่ให้ฟังก์ชั่นนั้นๆ แสดงเออเร่อออกมาทางหน้าจอ หากมันเออเร่อ @ ตัวนี้บางครั้งมันก็มีประโยชน์ ฉะนั้นใช้เท่าทีจำเป็น

7. ปิดการเชื่อมต่อฐานข้อมูลซะหลังจากใช้งานเสร็จ

8. การเรียกใช้แบบนี้ $row[‘id’] เร็วกว่าแบบนี้ $row[id] 7 เท่า
PHP นั้นยอมให้เขียนสตริงโดยไม่ต้องใช้ฟันหนูคร่อม (คุณรู้หรือเปล่า) และการเรียกใช้ค่าจากฐานข้อมูล หรือตัวแปรอะเรย์ ก็เหมือนกัน PHP นี่ต้องยอมรับในความยืดหยุ่นของเขาจริงๆ
ทำไมแบบไม่คร่อมฟันหนูจึงช้ากว่าแบบคร่อมฟันหนู่ ก็เพราะว่า เมื่อ PHP เจอตัวสตริงนั้นเข้าไป มันจะต้องเอาตริงไปเช็กก่อนว่าเป็นตัวแปร constant หรือเปล่า ถ้าไม่ใช่มันก็จะมองว่าเป็น text ทันที ผิดกับที่คร่อมฟันหนูไว้แล้ว เครื่องหมายฟันหนูเป็นตัวบ่งบอกว่าข้างในนั้นเป็น text

9. for ($x=0; $x < count($array); $x++) วิธีนี้อย่าพึงปฎิบัติ ก็เนื่องจากว่ามันจะต้องคำณวนทุกรอบลูป มันมีวิธีที่เขียนง่ายกว่านี้และเร็วกว่าด้วย

$max = count($array);
for ($x=0; $x < $max; $x++)

10. ถ้ามันเป็น html อยู่แล้วก็ไม่จำเป็นจะต้อง echo ด้วย PHP
ในหนังสือ PHP นี่ตัวดีเลย สอนวิธีสร้างตารางด้วย PHP ข้างในโค้ด HTML ล้วนๆ เด็กก็ไม่เข้าใจเจตนาที่เขาสอน จำมาใช้กันเกลื่อน

หากเห็นว่ามีอย่างอื่นที่ควรจะจำไป optimize code ก็คอมเม้นท์แนะนำกันนะครับ