自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

PHP代碼性能優(yōu)化的技巧講解

開(kāi)發(fā) 后端
PHP代碼性能優(yōu)化可以通過(guò)不要隨便就復(fù)制變量、對(duì)字符串使用單引號(hào)、使用 echo 函數(shù)來(lái)輸出字符串、不要在 echo 中使用連接符、使用 switch/case 代替 if/else等方式實(shí)現(xiàn)。

PHP語(yǔ)言雖然功能強(qiáng)大,但是它并不是沒(méi)有缺點(diǎn)的。同其他語(yǔ)言一樣,它在實(shí)際應(yīng)用編寫中也需要不斷的更新修改已編代碼,直到滿意為止。我們接下來(lái)就與大家一起分享PHP代碼性能優(yōu)化的一些技巧。

#t#PHP代碼性能優(yōu)化1. 不要隨便就復(fù)制變量

有時(shí)候?yàn)榱耸?PHP 代碼更加整潔,一些 PHP 新手(包括我)會(huì)把預(yù)定義好的變量復(fù)制到一個(gè)名字更簡(jiǎn)短的變量中,其實(shí)這樣做的結(jié)果是增加了一倍的內(nèi)存消耗,只會(huì)使程序更加慢。試想一下,在下面的例子中,如果用戶惡意插入 512KB 字節(jié)的文字到文本輸入框中,這樣就會(huì)導(dǎo)致 1MB 的內(nèi)存被消耗!

 

  1. BAD:  
  2. $description = $_POST['description'];  
  3. echo $description;  
  4. GOOD:  
  5. echo $_POST['description'];  

 

 

引用

PHP代碼性能優(yōu)化2. 對(duì)字符串使用單引號(hào)

PHP 引擎允許使用單引號(hào)和雙引號(hào)來(lái)封裝字符串變量,但是這個(gè)是有很大的差別的!使用雙引號(hào)的字符串告訴 PHP 引擎首先去讀取字符串內(nèi)容,查找其中的變量,并改為變量對(duì)應(yīng)的值。一般來(lái)說(shuō)字符串是沒(méi)有變量的,所以使用雙引號(hào)會(huì)導(dǎo)致性能不佳。***是使用字符串連接而不是雙引號(hào)字符串。

 

  1. BAD:  
  2. $output = "This is a plain string";  
  3. GOOD:  
  4. $output = 'This is a plain string';  
  5. BAD:  
  6. $type = "mixed";  
  7. $output = "This is a $type string";  
  8. GOOD:  
  9. $type = 'mixed';  
  10. $output = 'This is a ' . $type .' string'; 

 

 

引用

PHP代碼性能優(yōu)化3. 使用 echo 函數(shù)來(lái)輸出字符串

使用 echo() 函數(shù)來(lái)打印結(jié)果出了有更容易閱讀之外,在下個(gè)例子中,你還可以看到有更好的性能。

 

  1. BAD:  
  2. print($myVariable);  
  3. GOOD:  
  4. echo $myVariable; 

 

 

引用

PHP代碼性能優(yōu)化4. 不要在 echo 中使用連接符

很多 PHP 程序員(有包括我)不知道在用 惡臭輸出多個(gè)變量的時(shí)候,其實(shí)可以使用逗號(hào)來(lái)分開(kāi)的,而不必用字符串先把他們先連起來(lái),如下面的***個(gè)例子中,由于使用了連接符就會(huì)有性能問(wèn)題,因?yàn)檫@樣就會(huì)需要 PHP 引擎首先把所有的變量連接起來(lái),然后在輸出,而在第二個(gè)例子中,PHP 引擎就會(huì)按照循序輸出他們。

 

  1. BAD:  
  2. echo 'Hello, my name is' . $firstName . $lastName . ' and I live in ' . $city;  
  3. GOOD:  
  4. echo 'Hello, my name is' , $firstName , $lastName , ' and I live in ' , $city; 

 

 

引用

PHP代碼性能優(yōu)化5. 使用 switch/case 代替 if/else

對(duì)于只有單個(gè)變量的判斷,使用 switch/case 語(yǔ)句而不是 if/else 語(yǔ)句,會(huì)有更好的性能,并且代碼更加容易閱讀和維護(hù)。

 

  1. BAD:  
  2. if($_POST['action'] == 'add') {  
  3. addUser();  
  4. } elseif ($_POST['action'] == 'delete') {  
  5. deleteUser();  
  6. } elseif ($_POST['action'] == 'edit') {  
  7. editUser();  
  8. } else {  
  9. defaultAction();  
  10. }  
  11. GOOD:  
  12. switch($_POST['action']) {  
  13. case 'add':  
  14. addUser();  
  15. break;  
  16. case 'delete':  
  17. deleteUser();  
  18. break;  
  19. case 'edit':  
  20. editUser();  
  21. break;  
  22. default:  
  23. defaultAction();  
  24. break;  

 

責(zé)任編輯:曹凱 來(lái)源: holmesian.cn
相關(guān)推薦

2009-12-09 17:33:22

PHP性能優(yōu)化

2012-07-23 10:22:15

Python性能優(yōu)化優(yōu)化技巧

2011-06-14 11:14:10

性能優(yōu)化代碼

2009-11-26 10:32:57

PHP代碼優(yōu)化

2015-09-16 14:47:14

Android性能優(yōu)化代碼

2009-12-11 17:57:13

PHP應(yīng)用JSON

2009-11-27 16:20:22

PHP遞歸調(diào)用

2009-11-30 09:21:39

PHP函數(shù)rmdir(

2019-08-21 10:53:29

.NET性能優(yōu)化

2022-04-01 15:17:05

Java開(kāi)發(fā)技巧

2009-12-10 17:37:28

PHP Cookie登

2011-03-11 15:53:00

LAMP優(yōu)化

2009-12-04 15:52:46

PHP導(dǎo)入Excel文

2009-06-16 16:39:49

Hibernate性能

2009-12-01 19:17:48

PHP開(kāi)發(fā)高效WEB系

2009-11-30 15:10:46

PHP substr函

2009-12-09 16:53:45

PHP打印任意時(shí)間

2009-12-09 13:32:08

PHP zend安裝

2009-12-02 19:08:19

PHP跳轉(zhuǎn)代碼

2009-12-10 14:27:21

PHP處理Word轉(zhuǎn)P
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)