亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

淺談PHP源碼九:關于array_unshift, array_push的介紹

2020-03-22 18:35:56
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了關于淺談PHP源碼九:關于array_unshift, array_push的介紹,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下

今天過年了,祝各位朋友新春快樂,萬事如意!

淺談PHP源碼九:關于array_unshift, array_push的介紹

int array_unshift ( array array, mixed var [, mixed ...] )

array_unshift() 將傳入的單元插入到 array 數組的開頭。注意單元是作為整體被插入的,因此傳入單元將保持同樣的順序。所有的數值鍵名將修改為從零開始重新計數,所有的文字鍵名保持不變。

返回 array 數組新的單元數目。

在standard/array.c的2080行,可以看到此函數的C實現 PHP_FUNCTION(array_unshift)

程序會先判斷輸入參數的個數是否正確,如果小于2則報錯
然后判斷第一個參數是否為數組,如果不是,報錯退出
然后程序會調用new_hash = php_splice(Z_ARRVAL_P(stack), 0, 0, args[1], argc-1, NULL);

HashTable* php_splice(HashTable *in_hash, int offset, int length, zval ***list, int list_count, HashTable **removed)
此函數在array.c的1861行
它會先將in_hash(原來的hashtable)復制一部分到新的hashtable,這里的一部分是根據所給的offset和length來計算,array_unshif所給的offset和length都為0,所以這里不復制任何元素給新的hashtable
然后遍歷list,針對每個元素分別創建一個zval并使用zend_hash_next_index_insert插入到新的hashtable
然后將in_hash中剩余的元素復制給新的hashtable,我們這里由于offset和length都為0,所以是全部的hashtable
最后,返回新生成的hashtable
整個過程就相當于先把list中的數據寫入hashtable,然后把舊的數據寫入hashtable,這樣就實現了在數組前面插入元素

然后刪除舊的數組所在的hashtable并刷新新HashTable,并重置hashtable的內部指針,
返回hashtable中元素的個數(即新生成的數組的長度)

int array_push ( array array, mixed var [, mixed ...] )

array_push() 將 array 當成一個棧,并將傳入的變量壓入 array 的末尾。array 的長度將根據入棧變量的數目增加。
和如下效果相同:

 ?php$array[] = $var;? 

并對每個 var 重復以上動作。

返回數組新的單元總數。

這個實現就比較簡單了:
直接遍歷所給的參數,對每個元素創建一個zval,并使其引用加一,加到數組所在hashtable的后面。
返回hashtable中元素的個數(即新生成的數組的長度)

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

淺談PHP源碼八:關于array_pop, array_shift的介紹

淺談PHP源碼七:關于nl2br, ltrim, rtrim, trim函數

淺談PHP源碼六:關于stream_get_wrappers函數

以上就是淺談PHP源碼九:關于array_unshift, array_push的介紹的詳細內容,PHP教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久人人97超碰精品888| 欧美日韩亚洲成人| 欧美日韩成人在线观看| 亚洲精品美女在线观看播放| 欧美乱大交xxxxx另类电影| 欧美肥臀大乳一区二区免费视频| 成人免费观看a| 亚洲精品av在线播放| 欧美成人免费va影院高清| 国产欧美日韩丝袜精品一区| 精品国产老师黑色丝袜高跟鞋| 精品av在线播放| 国内精品模特av私拍在线观看| 中文字幕v亚洲ⅴv天堂| 国内自拍欧美激情| 色小说视频一区| 久久久亚洲国产天美传媒修理工| 九九久久精品一区| 日韩专区在线播放| 中文字幕在线看视频国产欧美| 亚洲人在线观看| 精品动漫一区二区三区| 久久久久久有精品国产| 日韩美女激情视频| 欧美激情欧美激情在线五月| 国产精品久久久久久久久男| 亚洲欧洲高清在线| 久久久久久噜噜噜久久久精品| 欧美日韩激情视频8区| 国产精品久久久久久av福利| 日韩在线视频观看正片免费网站| 91中文精品字幕在线视频| 久久久久久久久久国产精品| 国产97色在线| 国产裸体写真av一区二区| 午夜精品三级视频福利| 亚洲自拍av在线| 国产欧美一区二区三区在线| 97国产成人精品视频| 国产精品国产三级国产aⅴ9色| 91成人在线视频| 亚洲国产精品久久久久秋霞不卡| 亚洲一级片在线看| 国产91成人在在线播放| 欧美久久久精品| 国产亚洲精品一区二555| 成人激情综合网| 亚洲欧美国产精品久久久久久久| 国产精品丝袜久久久久久不卡| 一区二区三区美女xx视频| 性金发美女69hd大尺寸| 国产精品电影一区| 色中色综合影院手机版在线观看| 国产精品美女主播在线观看纯欲| 日韩av手机在线观看| 精品丝袜一区二区三区| 亚洲成人教育av| 92福利视频午夜1000合集在线观看| 国产精品免费久久久久影院| 亚洲人成电影网| 久久国产精品免费视频| 亚洲国产小视频在线观看| 欧美精品中文字幕一区| 欧美国产极速在线| 国产精品偷伦视频免费观看国产| 久久国产加勒比精品无码| 不卡在线观看电视剧完整版| 国产成人免费91av在线| 在线观看中文字幕亚洲| 欧美超级乱淫片喷水| 国产日产亚洲精品| 中国日韩欧美久久久久久久久| 国产在线视频欧美| 成人97在线观看视频| 成人免费直播live| 欧美日韩电影在线观看| 国产精品视频99| 久久久在线观看| 欧美怡红院视频一区二区三区| 久久夜色精品国产欧美乱| 欧美做受高潮电影o| 久国内精品在线| 中文字幕日韩在线播放| 日韩视频免费在线观看| 国产精品久久97| 久久综合色影院| 久久成人在线视频| 97久久精品人人澡人人爽缅北| 久久久久国产精品一区| 国产精品久久久久久久久影视| 91精品久久久久久综合乱菊| xxav国产精品美女主播| 国产精品2018| 亚洲国产精品久久久| 91久久中文字幕| 欧美xxxx18国产| 热久久美女精品天天吊色| 欧美日韩在线视频一区| 精品国产欧美成人夜夜嗨| 青青草原成人在线视频| 国模视频一区二区三区| 在线视频免费一区二区| 欧美午夜www高清视频| 亚洲国产精品久久| 国产精品免费小视频| 高清欧美性猛交xxxx| 精品国产91久久久| 成人乱人伦精品视频在线观看| 日韩精品在线免费| 欧美日韩国产专区| 亚洲精品成人久久久| 亚洲国产精彩中文乱码av在线播放| 欧美日韩一区二区在线播放| 亚洲一区二区三区香蕉| 成人av.网址在线网站| 在线色欧美三级视频| 亚洲精品资源美女情侣酒店| 中文国产成人精品久久一| 国产精品女主播视频| 97视频在线免费观看| 欧美另类老女人| 欧美电影院免费观看| 91久久精品日日躁夜夜躁国产| 亚洲欧美国产va在线影院| 亚洲最大成人网色| 亚洲成avwww人| 午夜精品久久久久久久99热| 国产亚洲成精品久久| 亚洲精品国产精品乱码不99按摩| 成人国产在线激情| 国产精品高潮呻吟久久av黑人| 亚洲国产日韩欧美综合久久| 2021久久精品国产99国产精品| 国产精品1区2区在线观看| 亚洲影院污污.| 中文日韩电影网站| 日韩成人网免费视频| 91精品国产精品| 午夜精品一区二区三区在线播放| 91国产精品91| 成人国产精品av| 午夜精品www| 国产精品香蕉在线观看| 51午夜精品视频| xvideos成人免费中文版| 欧美视频二区36p| 久久精品视频播放| 精品国产乱码久久久久久虫虫漫画| 欧美一区二区色| 久久久久久国产精品美女| 日韩欧美在线国产| 国产精品美女视频网站| 国产精品美女久久久久久免费| 久久综合88中文色鬼| 色777狠狠综合秋免鲁丝| 亚洲jizzjizz日本少妇| 在线观看久久av| 国产精品久久久久久久一区探花| 91欧美日韩一区| 欧美日本啪啪无遮挡网站| 国产精品自产拍高潮在线观看| 91在线免费网站| 欧美精品一区二区三区国产精品| 国产精品久久久久久久一区探花|