php內建函式分析之array chunk

2022-03-16 18:34:41 字數 1439 閱讀 4101

1

php_function(array_chunk)215

/*do bounds checking for size parameter.

*/16

/*如果 size 小於 1,會丟擲乙個 e_warning 錯誤並返回 null。

*/17

if (size < 1

) 21

22/*

原陣列大小

*/23 num_in =zend_hash_num_elements(z_arrval_p(input));

2425

/*1 <= size <= num_in

*/26

if (size >num_in)

2930

/*初始化返回值 ((num_in - 1) / size) + 1)個元素

*/31 array_init_size(return_value, (uint32_t)(((num_in - 1) / size) + 1

));32

33//

設定(zval).u1.type_info = is_undef

34//

chunk儲存分塊後的每個陣列

35 zval_undef(&chunk);

3637

zend_hash_foreach_key_val(z_arrval_p(input), num_key, str_key, entry)

4445

/*add entry to the chunk, preserving keys if necessary.

*/46

//是否儲存原陣列中的鍵名

47if

(preserve_keys) else

53 } else

57zval_add_ref(entry);

5859

/*if reached the chunk size, add it to the result array, and reset the

60* pointer.

*/61

/*chunk大小達到size之後,將chunk加入到返回值陣列return_value中,也就是乙個分塊完成。

62* 然後重置chunk為is_undef。

63*/

64if (!(++current %size))

70} zend_hash_foreach_end();

7172

/*add the final chunk if there is one.

*/73

/*最後乙個陣列分塊大小達不到size的時候, 將其加到return_value

*/74

if (z_type(chunk) !=is_undef)

77 }

php內建函式分析之ucwords

1 php function ucwords 218 19 php charmask unsigned char delims,delims len,mask 初始化mask陣列,並對上述6個字元執行類似這樣的操作 char c t mask c 1 2021 zval stringl return...

php中常用array內建函式,str內建函式

array 1.array chunk 把陣列分割為陣列塊 cars array volvo bmw toyota honda mercedes opel print r array chunk cars,2 2.array column 返回陣列中單一列的值 3.array combine 合併倆...

JavaScript內建物件之Array 一

array新方法 一.位置方法 1.indexof 作用 返回某元素在陣列中的第乙個出現位置。引數 第乙個為需要查詢的元素。第二個為查詢的起始位置 可選,預設為0 返回值 返回元素在陣列的位置,未找到返回 1.2.lastindxof 作用 返回某元素在陣列中的位置 反向查詢 引數 第乙個為需要查詢...