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

首頁 > 編程 > PHP > 正文

淺談PHP源碼十四: 關于array_combine函數

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

淺談PHP源碼十四: 關于array_combine函數

array_combine

(PHP 5)
array_combine — 創建一個數組,用一個數組的值作為其鍵名,另一個數組的值作為其值
說明

array array_combine ( array keys, array html' target='_blank'>values )

返回一個 array,用來自 keys 數組的值作為鍵名,來自 values 數組的值作為相應的值。
如果兩個數組的單元數不同或者數組為空時返回 FALSE。

程序實現說明:

 array_init(return_value);  zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(keys), pos_keys); zend_hash_internal_pointer_reset_ex(Z_ARRVAL_P(values), pos_values); // 初始化數組指針,將其置為雙向鏈接的頭指針 while (zend_hash_get_current_data_ex(Z_ARRVAL_P(keys), (void **) entry_keys, pos_keys) == SUCCESS  zend_hash_get_current_data_ex(Z_ARRVAL_P(values), (void **) entry_values, pos_values) == SUCCESS) { // 同時遍歷兩個數組 if (Z_TYPE_PP(entry_keys) == IS_STRING) { // 如果key值為字符串,以key zval_add_ref(entry_values); add_assoc_zval_ex(return_value, Z_STRVAL_PP(entry_keys), Z_STRLEN_PP(entry_keys)+1, *entry_values); } else if (Z_TYPE_PP(entry_keys) == IS_LONG) { zval_add_ref(entry_values); add_index_zval(return_value, Z_LVAL_PP(entry_keys), *entry_values); } else { zval key; key = **entry_keys; zval_copy_ctor( key); convert_to_string( key); // 轉化為字符串,如果為數組,則為Array zval_add_ref(entry_values); add_assoc_zval_ex(return_value, Z_STRVAL(key), Z_STRLEN(key)+1, *entry_values); zval_dtor( key); zend_hash_move_forward_ex(Z_ARRVAL_P(keys), pos_keys); zend_hash_move_forward_ex(Z_ARRVAL_P(values), pos_values); // 下一個元素,其實現為:pos_values = pos_values- pListNext; }

在PHP代碼中如果key數組中包含兩個數組,則后面一個會覆蓋前面,即最終只有一個元素,

如下所示PHP代碼:

 / ?PHP$arr1 = array(1, array(1, 2), array(3, 4), array(5, 6));$arr2 = array(33, 44, 55, 66);$arr3 = array_combine($arr1, $arr2);print_r($arr3);die();

此代碼會輸出:

Array ( [1] = 33 [Array] = 66 )

EOF

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

相關推薦:

淺談PHP源碼十三:關于array_change_key_case,array_chunk的介紹

淺談PHP源碼十二:關于return_value 返回值

淺談PHP源碼十一:關于 array_key_exists,in_array的介紹

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

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敦化市| 文水县| 宣威市| 崇阳县| 聊城市| 凤山县| 蕲春县| 缙云县| 仪陇县| 措美县| 外汇| 宜兰县| 阜平县| 沂源县| 滨州市| 含山县| 北安市| 武强县| 曲麻莱县| 南部县| 高邑县| 平乡县| 宁陵县| 台中县| 新巴尔虎左旗| 永新县| 阿克陶县| 石柱| 棋牌| 肇东市| 邳州市| 佛山市| 芦山县| 天全县| 台湾省| 大安市| 灵武市| 霍邱县| 承德市| 德昌县| 阳高县|