成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

探討PHP引用&符號的一些注意問題

開發 后端
許多人在實際使用PHP編寫代碼的時候,經常會因為對其理解錯誤而造成整段代碼的錯誤。其實PHP引用&符號與C中的指針并不一樣。

PHP引用&符號是一個比較難掌握的知識點。新手們在實際編寫代碼時一定要多注意這一點,因為如果你對PHP引用&符號的使用理解錯誤,將會導致你所編寫的整個代碼出現錯誤。

#t#很多人誤解php中的引用跟C當中的指針一樣,事實上并非如此,而且很大差別。C語言中的指針除了在數組傳遞過程中不用顯式申明外,其他都需要使用*進行定義,而php中對于地址的指向(類似指針)功能不是由用戶自己來實現的,是由Zend核心實現的,PHP引用&符號采用的是“寫時拷貝”的原理,就是除非發生寫操作,指向同一個地址的變量或者對象是不會被拷貝的,比如下面的代碼:

  1. $a = array('a','c'...'n');  
  2. $b = $a; 

如果程序僅執行到這里,$b和$b是相同的,但是并沒有像C那樣,$a和$b占用不同的內存空間,而是指向了同一塊內存,這就是php和c的差別,并不需要寫成$b=&$a才表示$b指向$a的內存,zend就已經幫你實現了引用,并且zend會非常智能的幫你去判斷什么時候該這樣處理,什么時候不該這樣處理。

如果在后面繼續寫如下代碼,增加一個函數,通過PHP引用&符號的方式傳遞參數,并打印輸出數組大小。

  1. function printArray(&$arr) //引用傳遞  
  2.     {  
  3.         print(count($arr));  
  4.     }  
  5.  
  6.      printArray($a); 

上面的代碼中,我們通過PHP引用&符號把$a數組傳入printArray()函數,zend引擎會認為printArray()可能會導致對$a的改變,此時就會自動為$b生產一個$a的數據拷貝,重新申請一塊內存進行存儲。這就是前面提到的“寫時拷貝”概念。

如果我們把上面的代碼改成下面這樣:

  1. function printArray($arr)  //值傳遞  
  2.     {  
  3.         print(count($arr));  
  4.     }  
  5.  
  6.      printArray($a); 


上面的代碼直接傳遞$a值到printArray()中,此時并不存在引用傳遞,所以沒有出現寫時拷貝。

大家可以測試一下上面兩行代碼的執行效率,比如外面加入一個循環1000次,看看運行的耗時,結果會讓你知道不正確使用PHP引用&符號會導致性能下降30%以上。

責任編輯:曹凱 來源: CSDN
相關推薦

2009-03-13 09:31:03

.NET整合分布式應用

2009-12-03 20:21:21

PHP文件上傳

2022-01-12 08:30:55

結構體指針STM32

2009-11-23 13:44:33

PHP5面向對象

2012-04-25 22:45:46

2017-09-10 17:31:18

iOS渲染數據

2017-02-20 16:28:30

DCISDN-WAN傳輸網絡

2009-11-26 10:32:57

PHP代碼優化

2009-06-30 14:23:02

ORACLE數據庫JSP

2015-08-24 09:26:18

Java內存問題見解

2010-10-08 16:32:59

MySQL語句

2021-05-11 22:24:56

C++符號Tab

2017-01-03 15:23:56

Android動態加載SO庫

2023-03-28 08:14:42

系統優化指標

2021-09-27 09:55:52

深度學習編程人工智能

2016-10-18 22:10:02

HTTP推送HTML

2021-04-19 17:25:08

Kubernetes組件網絡

2009-12-11 11:09:12

PHP信息函數

2017-05-23 14:33:46

簡歷求職前端開發

2009-06-04 16:28:43

EJB常見問題
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 亚洲视频中文字幕 | 免费av电影网站 | 成人午夜在线 | 日本久草| 国产一区二区av | 国产日韩欧美一区二区在线播放 | 日韩在线小视频 | 99re在线视频观看 | 亚洲国产视频一区 | 黄色片网此 | 欧美日韩电影一区 | 欧美精品一区三区 | 免费精品久久久久久中文字幕 | 一区二区三区影院 | 一级黄色短片 | 欧美久久免费观看 | 中文字幕第一页在线 | a级大片| 久久亚洲视频网 | 国产一级毛片精品完整视频版 | 成人伊人 | 精品伊人 | 在线伊人网 | 欧美日韩在线观看一区 | 午夜婷婷激情 | 欧美一级免费看 | www.操.com | 日韩在线视频精品 | ww亚洲ww亚在线观看 | 婷婷国产一区二区三区 | 日本一区二区高清不卡 | 久久av一区| 91久久精品国产91久久性色tv | 超碰91在线 | 国产在线视频一区 | 国产在线不卡视频 | 一级a性色生活片久久毛片 一级特黄a大片 | 电影91久久久 | 国产我和子的乱视频网站 | 日韩影院一区 | 日日干日日操 |