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

首頁 > 編程 > PHP > 正文

淺談PHP源碼十九:關于array_file,range函數

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

淺談PHP源碼十九:關于array_file,range函數

array_fill
(PHP 4 = 4.2.0, PHP 5)

array_fill — 用給定的值填充數組
說明
array array_fill ( int start_index, int num, mixed html' target='_blank'>value )

array_fill() 用 value 參數的值將一個數組填充 num 個條目,鍵名由 start_index 參數指定的開始。注意 num 必須是一個大于零的數值,否則 PHP 會發出一條警告。

對于參數start_index,只能是字符串,整形,浮點型
其源碼如下:

switch (Z_TYPE_PP(start_key)) {case IS_STRING:case IS_LONG:case IS_DOUBLE: ....... convert_to_long_ex(start_key); ......}

程序首先賦值給return_value第一個值,然后循環num – 1次: 給這個值添加refcount,并將它添加到return_value的Hash Table中

range
(PHP 3 = 3.0.8, PHP 4, PHP 5)

range — 建立一個包含指定范圍單元的數組
說明
array range ( mixed low, mixed high [, number step] )

range() 返回數組中從 low 到 high 的單元,包括它們本身。如果 low high,則序列將從 high 到 low。

新參數: 可選的 step 參數是 PHP 5.0.0 新加的。

如果給出了 step 的值,它將被作為單元之間的步進值。step 應該為正值。如果未指定,step 則默認為 1。

從代碼可以看出,本函數僅支持字符數組,浮點數組和整形數組,并且支持遞增和遞減兩種形式(在版本4.0.1之后才有)
以字符數組為例:

 if (Z_TYPE_P(zlow) == IS_STRING Z_TYPE_P(zhigh) == IS_STRING Z_STRLEN_P(zlow) = 1 Z_STRLEN_P(zhigh) = 1) { int type1, type2; unsigned char *low, *high; long lstep = (long) step;  type1 = is_numeric_string(Z_STRVAL_P(zlow), Z_STRLEN_P(zlow), NULL, NULL, 0); type2 = is_numeric_string(Z_STRVAL_P(zhigh), Z_STRLEN_P(zhigh), NULL, NULL, 0); if (type1 == IS_DOUBLE || type2 == IS_DOUBLE || is_step_double) { goto double_str; } else if (type1 == IS_LONG || type2 == IS_LONG) { goto long_str; convert_to_string(zlow); // 轉化為字符串,此函數的實現在zend_operators.c的536行:ZEND_API void _convert_to_string(zval *op ZEND_FILE_LINE_DC) convert_to_string(zhigh); low = (unsigned char *)Z_STRVAL_P(zlow); // 當所給字符串長度大于1時,取第一個字符 high = (unsigned char *)Z_STRVAL_P(zhigh); if (*low *high) { // 遞減數組 if (lstep = 0) { err = 1; goto err; for (; *low = *high; (*low) -= (unsigned int)lstep) { add_next_index_stringl(return_value, low, 1, 1); if (((signed int)*low - lstep) 0) { break; } else if (*high *low) { // 遞增數組 if (lstep = 0) { err = 1; goto err; for (; *low = *high; (*low) += (unsigned int)lstep) { add_next_index_stringl(return_value, low, 1, 1); if (((signed int)*low + lstep) 255) { // 只支持ASCII的255個字符 break; } else { // 開始和結束相等,則只返回包含一個元素的數組 add_next_index_stringl(return_value, low, 1, 1);}

對于浮點型和整形的處理基本類似,只有寫入Hash Table的方法不同

浮點型用的是add_next_index_double
整形用的是add_next_index_long

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

相關推薦:

淺談PHP源碼十八:關于array_diff_key,array_diff_assoc,array_udiff_assoc 函數

淺談PHP源碼十六:關于array_count_values函數

以上就是淺談PHP源碼十九:關于array_file,range函數的詳細內容,PHP教程

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
丁香五六月婷婷久久激情| 久精品免费视频| 色综合久久精品亚洲国产| 6080yy精品一区二区三区| 亚洲国产欧美日韩精品| 中文字幕国产亚洲2019| 国产精品久久久久免费a∨| 国产欧美精品xxxx另类| 国产欧美精品一区二区| 欧美激情xxxxx| 日本国产高清不卡| 久久久久国产视频| 国产欧美日韩中文字幕在线| 亚洲欧美综合另类中字| 久久99热精品| 国产日韩欧美中文| 国产精品丝袜久久久久久不卡| 精品久久香蕉国产线看观看gif| 日韩在线视频导航| 国产日韩av在线播放| 少妇高潮 亚洲精品| 亚洲一区二区三区乱码aⅴ| 久久久久国产精品一区| 国产97人人超碰caoprom| 久久久久国色av免费观看性色| 国产日韩视频在线观看| 成人写真视频福利网| 久久久女人电视剧免费播放下载| 久久久视频在线| 欧美国产一区二区三区| 51视频国产精品一区二区| 一区二区三区高清国产| 欧美在线xxx| 91网站免费看| 一区二区欧美久久| 国产精品无av码在线观看| 色噜噜狠狠色综合网图区| 欧美大学生性色视频| 色琪琪综合男人的天堂aⅴ视频| 亚洲乱亚洲乱妇无码| 日韩美女av在线免费观看| 国产美女主播一区| 91影院在线免费观看视频| 久久久国产精品免费| 91国内免费在线视频| 日韩欧美精品免费在线| 久久综合伊人77777蜜臀| 欧美区二区三区| 国产精品精品久久久| 国产精品27p| 97在线看免费观看视频在线观看| 欧美尤物巨大精品爽| 欧美日韩在线看| 亚洲毛片一区二区| 国产91在线高潮白浆在线观看| 国产成人中文字幕| 国产精品高潮呻吟久久av无限| 国产精品高潮呻吟久久av无限| 欧美成人在线网站| 4388成人网| 91久久综合亚洲鲁鲁五月天| 亚洲高清久久久久久| 91香蕉电影院| 最新亚洲国产精品| 亚洲国产日韩精品在线| 亚洲аv电影天堂网| 成人激情视频小说免费下载| 国产精品三级久久久久久电影| 欧美日韩xxxxx| 伊人久久男人天堂| 亚洲天堂免费在线| 黑人巨大精品欧美一区二区| 狠狠色狠狠色综合日日小说| 国产91精品在线播放| 日韩精品视频免费在线观看| 97超级碰碰碰久久久| 久久久久久久久久av| 国产91精品久久久久| 国产精品成人免费视频| 亚洲精选一区二区| 91在线精品视频| www国产精品com| 国产精品成人va在线观看| 欧美一级成年大片在线观看| 欧美成人黑人xx视频免费观看| 91在线高清免费观看| 精品久久久久久久久久ntr影视| 国产精品久久久久久久久久久久| 亚洲一区亚洲二区| 国产精品视频久| 欧美亚洲伦理www| 亚洲精品一区二区三区婷婷月| 中文字幕视频在线免费欧美日韩综合在线看| 91久久综合亚洲鲁鲁五月天| 日韩精品极品毛片系列视频| 91视频免费在线| 日韩电影大全免费观看2023年上| 国产精品高潮在线| 欧美大尺度激情区在线播放| 精品久久久久久久久久久久久久| 欧美日韩亚洲系列| 国产成人高潮免费观看精品| 亚洲成年人影院在线| 日韩美女在线观看| 色yeye香蕉凹凸一区二区av| 欧美三级欧美成人高清www| 国产福利精品av综合导导航| 日韩av电影院| 伊人av综合网| 欧美在线视频免费播放| 91麻豆国产精品| 97超碰蝌蚪网人人做人人爽| 亚洲女同精品视频| 成年无码av片在线| 亚洲成人在线视频播放| 久久精品国产欧美激情| 国产婷婷97碰碰久久人人蜜臀| 国产成人精品在线观看| 97精品伊人久久久大香线蕉| 成人美女av在线直播| 91久久久久久久久| 欧美精品在线观看| 国外成人性视频| 欧美中文字幕在线视频| 69视频在线播放| 国产一区二区三区毛片| 国产主播欧美精品| 久久久999国产精品| 精品欧美国产一区二区三区| 欧美视频在线免费| 色樱桃影院亚洲精品影院| 国产精品1区2区在线观看| 91在线视频九色| 韩国视频理论视频久久| 欧美另类在线观看| 777国产偷窥盗摄精品视频| 成人免费视频网址| 欧美精品午夜视频| 九九精品在线播放| 亚洲女性裸体视频| 7777精品久久久久久| 日韩免费中文字幕| 91在线观看免费高清完整版在线观看| 国产精品成人品| 国产精品久久久久久亚洲影视| 国产区精品视频| 2019av中文字幕| 欧美成人国产va精品日本一级| 亚洲日本aⅴ片在线观看香蕉| 91久久精品久久国产性色也91| 亚洲成人免费网站| 国产一区二区三区丝袜| 日韩视频中文字幕| 亚洲欧洲高清在线| 国产专区精品视频| 国内精品久久久久久| 欧美中文字幕在线| 国产亚洲美女精品久久久| 欧美日韩在线视频一区| 亚洲一区二区三区久久| 成人h视频在线| 精品福利在线观看| 91精品成人久久| 毛片精品免费在线观看|