0x00 字符串相关
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| void zend_str_tolower(char *str, size_t len); zend_string* zend_string_tolower(zend_string *str); zend_string* php_string_tolower(zend_string *str); zend_string* php_string_toupper(zend_string *str);
zend_string *strpprintf(size_t max_len, const char *format, ...);
size_t spprintf( char **pbuf, size_t max_len, const char *format, ...);
smart_str_*
zend_string *zval_get_string(zval *val);
|
0x01 数组相关
1 2 3 4 5 6 7 8 9 10 11 12 13
| uint32_t zend_hash_num_elements(HashTable *ht); zval* zend_hash_find(HashTable *ht, zend_string *key); zval* zend_hash_str_find(HashTable *ht, char *str, size_t len); zval* zend_hash_index_find(HashTable *ht, zend_ulong h); void* zend_hash_find_ptr(HashTable *ht, zend_string *key); void* zend_hash_str_find_ptr(HashTable *ht, char *str, size_t len); void* zend_hash_index_find_ptr(HashTable *ht, zend_ulong h); zend_bool zend_hash_exists(HashTable *ht, zend_string *key); zend_bool zend_hash_str_exists(HashTable *ht, char *str, size_t len); zend_bool zend_hash_index_exists(HashTable *ht, zend_ulong h);
zend_array *HASH_OF(zval *val);
|
0x02 方法和函数相关
1 2 3 4 5 6 7
| zval* zend_call_method(zval *object_pp, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, size_t function_name_len, zval *retval, int param_count, zval* arg1, zval* arg2); zval* zend_call_method_with_0_params(zval *object_pp, zend_class_entry *obj_ce, zend_function **fn_proxy, const char *function_name, zval *retval);
输出 void php_var_dump(zval *struc, int level); size_t php_printf(const char *format, ...); size_t php_output_write(const char *str, size_t len);
|
Author:
Appl3s
Permalink:
https://appl3s.github.io/2018/10/06/php-extensions-function/
License:
Copyright (c) 2025 CC-BY-NC-4.0 LICENSE
Slogan:
Do you believe in DESTINY?