国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

php之數組指針詳解

2020-03-22 18:28:14
字體:
來源:轉載
供稿:網友

本文主要和大家分享php之數組指針詳解,首先我們會和大家分享php 數組指的針操作方法,希望能幫助到大家。

一、php 數組指針操作

利用php的內置函數keyhtml' target='_blank'>current,next(),prev()移動到上一個,

reset()重置,移動到第一個元素,end()移動到最后一個元素上

注意一旦指針位置非法,則不能做相對移動(next,prev),可以絕對移動(reset,end),reset,使用頻率較高!

each(),集合了 key,current,和next三者的功能!將當前元素信息獲得后,移動指針到下一個元素上!

元素信息數組 = each($arr).移動指針

注意,元素信息數組,是兩種表示方案:索引和關聯。

其中:索引:0,1分別 表示 鍵和值,關聯:key,value分別表示 鍵和值

二、常用的指針遍歷方法

each+while+list遍歷數組

list-each遍歷數組

zhizhen.png

升級化操作:

將獲得鍵變量和值變量的操作,簡化!

zhizhen1.png

利用 list結構

利用一個索引數組,同時初始化多個變量!

zhizhen3.png


each的返回值就包含了索引數組0為鍵,1為值!

利用list簡化的結果:

zheizhen4.png


其實:只要有循環結構,指針操作就可以完成遍歷數組


三、數組的指針問題討論


考慮復制時的指針位置問題:

zhizhenwenti1.png


如果原數組指針已經非法了呢?

zhizhenwenti2.png


再看:

zhizhenwenti3.png



問題是,復制后,誰先 執行的current,哪個數組指針被初始化!

該現象的原因是:

1, 如果數組指針位置非法,復制時,會將新數組指針初始化!

2, 值傳遞時,PHP采用了一個 COW(寫時復制,copy on write)的優化措施!

寫時復制的兩個要點:

在值傳遞時,并沒有馬上為新變量開辟值空間,而在兩個變量都未發生改變之前,還是使用的一個值空間


zhizhenwenti4.png

一旦某個變量發生改變,此時會復制值空間,讓發生改變的變量去引用新的空間!


zhizhenwenti5.png


zhizhenwenti6.png



注意,current也會發出寫操作,導致空間被復制!先current誰,誰是那個新的,指針被初始化!

zhizhenwenti7.png


foreach時

1, 遍歷的是拷貝而不是原數組!

2, 只有在原數組發生寫操作時,才會真正的拷貝。此時原數組指針停留在當前位置,如果已經非法,則會初始化!

zhizhenwenti8.png

相關推薦:

推薦php數組指針特效

php數組指針

php數組指針用法詳解

以上就是php之數組指針詳解的詳細內容,更多請關注 其它相關文章!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 扶沟县| 余庆县| 沭阳县| 江津市| 洮南市| 广汉市| 马关县| 喜德县| 云南省| 沾化县| 东阳市| 恭城| 安塞县| 广汉市| 彭山县| 信丰县| 朝阳市| 满城县| 涪陵区| 丽江市| 包头市| 高雄市| 长乐市| 伊通| 正镶白旗| 南澳县| 开阳县| 田阳县| 宝鸡市| 北碚区| 潮州市| 芦山县| 新蔡县| 抚远县| 高邮市| 凤阳县| 洛浦县| 当涂县| 商南县| 丰台区| 威海市|