php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_hash.c File Reference
#include "zend.h"
#include "zend_globals.h"
#include "zend_variables.h"

Go to the source code of this file.

Macros

#define HT_ASSERT(ht, expr)
 
#define HT_ASSERT_RC1(ht)
 
#define HT_POISONED_PTR   ((HashTable *) (intptr_t) -1)
 
#define IS_CONSISTENT(a)
 
#define SET_INCONSISTENT(n)
 
#define ZEND_HASH_IF_FULL_DO_RESIZE(ht)
 

Functions

ZEND_API voidzend_hash_str_find_ptr_lc (const HashTable *ht, const char *str, size_t len)
 
ZEND_API voidzend_hash_find_ptr_lc (const HashTable *ht, zend_string *key)
 
ZEND_API void ZEND_FASTCALL _zend_hash_init (HashTable *ht, uint32_t nSize, dtor_func_t pDestructor, bool persistent)
 
ZEND_API HashTable *ZEND_FASTCALL _zend_new_array_0 (void)
 
ZEND_API HashTable *ZEND_FASTCALL _zend_new_array (uint32_t nSize)
 
ZEND_API HashTable *ZEND_FASTCALL zend_new_pair (zval *val1, zval *val2)
 
ZEND_API void ZEND_FASTCALL zend_hash_packed_grow (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_real_init (HashTable *ht, bool packed)
 
ZEND_API void ZEND_FASTCALL zend_hash_real_init_packed (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_real_init_mixed (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_packed_to_hash (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_to_packed (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_extend (HashTable *ht, uint32_t nSize, bool packed)
 
ZEND_API void ZEND_FASTCALL zend_hash_discard (HashTable *ht, uint32_t nNumUsed)
 
ZEND_API uint32_t zend_array_count (HashTable *ht)
 
ZEND_API HashPosition ZEND_FASTCALL zend_hash_get_current_pos (const HashTable *ht)
 
ZEND_API HashPosition ZEND_FASTCALL zend_hash_get_current_pos_ex (const HashTable *ht, HashPosition pos)
 
ZEND_API uint32_t ZEND_FASTCALL zend_hash_iterator_add (HashTable *ht, HashPosition pos)
 
ZEND_API HashPosition ZEND_FASTCALL zend_hash_iterator_pos (uint32_t idx, HashTable *ht)
 
ZEND_API HashPosition ZEND_FASTCALL zend_hash_iterator_pos_ex (uint32_t idx, zval *array)
 
ZEND_API void ZEND_FASTCALL zend_hash_iterator_del (uint32_t idx)
 
ZEND_API HashPosition ZEND_FASTCALL zend_hash_iterators_lower_pos (HashTable *ht, HashPosition start)
 
ZEND_API void ZEND_FASTCALL _zend_hash_iterators_update (HashTable *ht, HashPosition from, HashPosition to)
 
ZEND_API void ZEND_FASTCALL zend_hash_iterators_advance (HashTable *ht, HashPosition step)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_add_or_update (HashTable *ht, zend_string *key, zval *pData, uint32_t flag)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_add (HashTable *ht, zend_string *key, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_update (HashTable *ht, zend_string *key, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_update_ind (HashTable *ht, zend_string *key, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_add_new (HashTable *ht, zend_string *key, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_lookup (HashTable *ht, zend_string *key)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_str_add_or_update (HashTable *ht, const char *str, size_t len, zval *pData, uint32_t flag)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_str_update (HashTable *ht, const char *str, size_t len, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_str_update_ind (HashTable *ht, const char *str, size_t len, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_str_add (HashTable *ht, const char *str, size_t len, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_str_add_new (HashTable *ht, const char *str, size_t len, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_index_add_empty_element (HashTable *ht, zend_ulong h)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_add_empty_element (HashTable *ht, zend_string *key)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_str_add_empty_element (HashTable *ht, const char *str, size_t len)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_index_add_or_update (HashTable *ht, zend_ulong h, zval *pData, uint32_t flag)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_index_add (HashTable *ht, zend_ulong h, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_index_add_new (HashTable *ht, zend_ulong h, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_index_update (HashTable *ht, zend_ulong h, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_next_index_insert (HashTable *ht, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_next_index_insert_new (HashTable *ht, zval *pData)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_index_lookup (HashTable *ht, zend_ulong h)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_set_bucket_key (HashTable *ht, Bucket *b, zend_string *key)
 
ZEND_API void ZEND_FASTCALL zend_hash_rehash (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_packed_del_val (HashTable *ht, zval *zv)
 
ZEND_API void ZEND_FASTCALL zend_hash_del_bucket (HashTable *ht, Bucket *p)
 
ZEND_API zend_result ZEND_FASTCALL zend_hash_del (HashTable *ht, zend_string *key)
 
ZEND_API zend_result ZEND_FASTCALL zend_hash_del_ind (HashTable *ht, zend_string *key)
 
ZEND_API zend_result ZEND_FASTCALL zend_hash_str_del_ind (HashTable *ht, const char *str, size_t len)
 
ZEND_API zend_result ZEND_FASTCALL zend_hash_str_del (HashTable *ht, const char *str, size_t len)
 
ZEND_API zend_result ZEND_FASTCALL zend_hash_index_del (HashTable *ht, zend_ulong h)
 
ZEND_API void ZEND_FASTCALL zend_hash_destroy (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_array_destroy (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_clean (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_symtable_clean (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_graceful_destroy (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_graceful_reverse_destroy (HashTable *ht)
 
ZEND_API void ZEND_FASTCALL zend_hash_apply (HashTable *ht, apply_func_t apply_func)
 
ZEND_API void ZEND_FASTCALL zend_hash_apply_with_argument (HashTable *ht, apply_func_arg_t apply_func, void *argument)
 
ZEND_API void zend_hash_apply_with_arguments (HashTable *ht, apply_func_args_t apply_func, int num_args,...)
 
ZEND_API void ZEND_FASTCALL zend_hash_reverse_apply (HashTable *ht, apply_func_t apply_func)
 
ZEND_API void ZEND_FASTCALL zend_hash_copy (HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor)
 
ZEND_API HashTable *ZEND_FASTCALL zend_array_dup (HashTable *source)
 
ZEND_API HashTablezend_array_to_list (HashTable *source)
 
ZEND_API void ZEND_FASTCALL zend_hash_merge (HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor, bool overwrite)
 
ZEND_API void ZEND_FASTCALL zend_hash_merge_ex (HashTable *target, HashTable *source, copy_ctor_func_t pCopyConstructor, merge_checker_func_t pMergeSource, void *pParam)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_find (const HashTable *ht, zend_string *key)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_find_known_hash (const HashTable *ht, const zend_string *key)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_str_find (const HashTable *ht, const char *str, size_t len)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_index_find (const HashTable *ht, zend_ulong h)
 
ZEND_API zval *ZEND_FASTCALL _zend_hash_index_find (const HashTable *ht, zend_ulong h)
 
ZEND_API void ZEND_FASTCALL zend_hash_internal_pointer_reset_ex (HashTable *ht, HashPosition *pos)
 
ZEND_API void ZEND_FASTCALL zend_hash_internal_pointer_end_ex (HashTable *ht, HashPosition *pos)
 
ZEND_API zend_result ZEND_FASTCALL zend_hash_move_forward_ex (HashTable *ht, HashPosition *pos)
 
ZEND_API zend_result ZEND_FASTCALL zend_hash_move_backwards_ex (HashTable *ht, HashPosition *pos)
 
ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex (const HashTable *ht, zend_string **str_index, zend_ulong *num_index, const HashPosition *pos)
 
ZEND_API void ZEND_FASTCALL zend_hash_get_current_key_zval_ex (const HashTable *ht, zval *key, const HashPosition *pos)
 
ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_type_ex (HashTable *ht, HashPosition *pos)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_get_current_data_ex (HashTable *ht, HashPosition *pos)
 
ZEND_API void zend_hash_bucket_swap (Bucket *p, Bucket *q)
 
ZEND_API void zend_hash_bucket_renum_swap (Bucket *p, Bucket *q)
 
ZEND_API void zend_hash_bucket_packed_swap (Bucket *p, Bucket *q)
 
ZEND_API void ZEND_FASTCALL zend_hash_sort_ex (HashTable *ht, sort_func_t sort, bucket_compare_func_t compar, bool renumber)
 
void ZEND_FASTCALL zend_array_sort_ex (HashTable *ht, sort_func_t sort, bucket_compare_func_t compar, bool renumber)
 
ZEND_API int zend_hash_compare (HashTable *ht1, HashTable *ht2, compare_func_t compar, bool ordered)
 
ZEND_API zval *ZEND_FASTCALL zend_hash_minmax (const HashTable *ht, compare_func_t compar, uint32_t flag)
 
ZEND_API bool ZEND_FASTCALL _zend_handle_numeric_str_ex (const char *key, size_t length, zend_ulong *idx)
 
ZEND_API HashTable *ZEND_FASTCALL zend_symtable_to_proptable (HashTable *ht)
 
ZEND_API HashTable *ZEND_FASTCALL zend_proptable_to_symtable (HashTable *ht, bool always_duplicate)
 

Variables

ZEND_API const HashTable zend_empty_array
 

Macro Definition Documentation

◆ HT_ASSERT

#define HT_ASSERT ( ht,
expr )

Definition at line 41 of file zend_hash.c.

◆ HT_ASSERT_RC1

#define HT_ASSERT_RC1 ( ht)
Value:
HashTable * ht
Definition ffi.c:4838
#define HT_ASSERT(ht, expr)
Definition zend_hash.c:41
#define GC_REFCOUNT(p)
Definition zend_types.h:707

Definition at line 44 of file zend_hash.c.

◆ HT_POISONED_PTR

#define HT_POISONED_PTR   ((HashTable *) (intptr_t) -1)

Definition at line 46 of file zend_hash.c.

◆ IS_CONSISTENT

#define IS_CONSISTENT ( a)

Definition at line 81 of file zend_hash.c.

◆ SET_INCONSISTENT

#define SET_INCONSISTENT ( n)

Definition at line 82 of file zend_hash.c.

◆ ZEND_HASH_IF_FULL_DO_RESIZE

#define ZEND_HASH_IF_FULL_DO_RESIZE ( ht)
Value:
if ((ht)->nNumUsed >= (ht)->nTableSize) { \
zend_hash_do_resize(ht); \
}

Definition at line 85 of file zend_hash.c.

Function Documentation

◆ _zend_handle_numeric_str_ex()

ZEND_API bool ZEND_FASTCALL _zend_handle_numeric_str_ex ( const char * key,
size_t length,
zend_ulong * idx )

Definition at line 3291 of file zend_hash.c.

◆ _zend_hash_index_find()

ZEND_API zval *ZEND_FASTCALL _zend_hash_index_find ( const HashTable * ht,
zend_ulong h )

Definition at line 2722 of file zend_hash.c.

◆ _zend_hash_init()

ZEND_API void ZEND_FASTCALL _zend_hash_init ( HashTable * ht,
uint32_t nSize,
dtor_func_t pDestructor,
bool persistent )

Definition at line 277 of file zend_hash.c.

◆ _zend_hash_iterators_update()

ZEND_API void ZEND_FASTCALL _zend_hash_iterators_update ( HashTable * ht,
HashPosition from,
HashPosition to )

Definition at line 711 of file zend_hash.c.

◆ _zend_new_array()

ZEND_API HashTable *ZEND_FASTCALL _zend_new_array ( uint32_t nSize)

Definition at line 289 of file zend_hash.c.

◆ _zend_new_array_0()

ZEND_API HashTable *ZEND_FASTCALL _zend_new_array_0 ( void )

Definition at line 282 of file zend_hash.c.

◆ zend_array_count()

ZEND_API uint32_t zend_array_count ( HashTable * ht)

Definition at line 476 of file zend_hash.c.

◆ zend_array_destroy()

ZEND_API void ZEND_FASTCALL zend_array_destroy ( HashTable * ht)

Definition at line 1808 of file zend_hash.c.

◆ zend_array_dup()

ZEND_API HashTable *ZEND_FASTCALL zend_array_dup ( HashTable * source)

Definition at line 2438 of file zend_hash.c.

◆ zend_array_sort_ex()

void ZEND_FASTCALL zend_array_sort_ex ( HashTable * ht,
sort_func_t sort,
bucket_compare_func_t compar,
bool renumber )

Definition at line 3074 of file zend_hash.c.

◆ zend_array_to_list()

ZEND_API HashTable * zend_array_to_list ( HashTable * source)

Definition at line 2526 of file zend_hash.c.

◆ zend_hash_add()

ZEND_API zval *ZEND_FASTCALL zend_hash_add ( HashTable * ht,
zend_string * key,
zval * pData )

Definition at line 992 of file zend_hash.c.

◆ zend_hash_add_empty_element()

ZEND_API zval *ZEND_FASTCALL zend_hash_add_empty_element ( HashTable * ht,
zend_string * key )

Definition at line 1067 of file zend_hash.c.

◆ zend_hash_add_new()

ZEND_API zval *ZEND_FASTCALL zend_hash_add_new ( HashTable * ht,
zend_string * key,
zval * pData )

Definition at line 1007 of file zend_hash.c.

◆ zend_hash_add_or_update()

ZEND_API zval *ZEND_FASTCALL zend_hash_add_or_update ( HashTable * ht,
zend_string * key,
zval * pData,
uint32_t flag )

Definition at line 978 of file zend_hash.c.

◆ zend_hash_apply()

ZEND_API void ZEND_FASTCALL zend_hash_apply ( HashTable * ht,
apply_func_t apply_func )

Definition at line 2059 of file zend_hash.c.

◆ zend_hash_apply_with_argument()

ZEND_API void ZEND_FASTCALL zend_hash_apply_with_argument ( HashTable * ht,
apply_func_arg_t apply_func,
void * argument )

Definition at line 2099 of file zend_hash.c.

◆ zend_hash_apply_with_arguments()

ZEND_API void zend_hash_apply_with_arguments ( HashTable * ht,
apply_func_args_t apply_func,
int num_args,
... )

Definition at line 2137 of file zend_hash.c.

◆ zend_hash_bucket_packed_swap()

ZEND_API void zend_hash_bucket_packed_swap ( Bucket * p,
Bucket * q )

Definition at line 2961 of file zend_hash.c.

◆ zend_hash_bucket_renum_swap()

ZEND_API void zend_hash_bucket_renum_swap ( Bucket * p,
Bucket * q )

Definition at line 2952 of file zend_hash.c.

◆ zend_hash_bucket_swap()

ZEND_API void zend_hash_bucket_swap ( Bucket * p,
Bucket * q )

Definition at line 2933 of file zend_hash.c.

◆ zend_hash_clean()

ZEND_API void ZEND_FASTCALL zend_hash_clean ( HashTable * ht)

Definition at line 1869 of file zend_hash.c.

◆ zend_hash_compare()

ZEND_API int zend_hash_compare ( HashTable * ht1,
HashTable * ht2,
compare_func_t compar,
bool ordered )

Definition at line 3197 of file zend_hash.c.

◆ zend_hash_copy()

ZEND_API void ZEND_FASTCALL zend_hash_copy ( HashTable * target,
HashTable * source,
copy_ctor_func_t pCopyConstructor )

Definition at line 2240 of file zend_hash.c.

◆ zend_hash_del()

ZEND_API zend_result ZEND_FASTCALL zend_hash_del ( HashTable * ht,
zend_string * key )

Definition at line 1534 of file zend_hash.c.

◆ zend_hash_del_bucket()

ZEND_API void ZEND_FASTCALL zend_hash_del_bucket ( HashTable * ht,
Bucket * p )

Definition at line 1526 of file zend_hash.c.

◆ zend_hash_del_ind()

ZEND_API zend_result ZEND_FASTCALL zend_hash_del_ind ( HashTable * ht,
zend_string * key )

Definition at line 1566 of file zend_hash.c.

◆ zend_hash_destroy()

ZEND_API void ZEND_FASTCALL zend_hash_destroy ( HashTable * ht)

Definition at line 1727 of file zend_hash.c.

◆ zend_hash_discard()

ZEND_API void ZEND_FASTCALL zend_hash_discard ( HashTable * ht,
uint32_t nNumUsed )

Definition at line 435 of file zend_hash.c.

◆ zend_hash_extend()

ZEND_API void ZEND_FASTCALL zend_hash_extend ( HashTable * ht,
uint32_t nSize,
bool packed )

Definition at line 396 of file zend_hash.c.

◆ zend_hash_find()

ZEND_API zval *ZEND_FASTCALL zend_hash_find ( const HashTable * ht,
zend_string * key )

Definition at line 2668 of file zend_hash.c.

◆ zend_hash_find_known_hash()

ZEND_API zval *ZEND_FASTCALL zend_hash_find_known_hash ( const HashTable * ht,
const zend_string * key )

Definition at line 2679 of file zend_hash.c.

◆ zend_hash_find_ptr_lc()

ZEND_API void * zend_hash_find_ptr_lc ( const HashTable * ht,
zend_string * key )

Definition at line 104 of file zend_hash.c.

◆ zend_hash_get_current_data_ex()

ZEND_API zval *ZEND_FASTCALL zend_hash_get_current_data_ex ( HashTable * ht,
HashPosition * pos )

Definition at line 2915 of file zend_hash.c.

◆ zend_hash_get_current_key_ex()

ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_ex ( const HashTable * ht,
zend_string ** str_index,
zend_ulong * num_index,
const HashPosition * pos )

Definition at line 2846 of file zend_hash.c.

◆ zend_hash_get_current_key_type_ex()

ZEND_API int ZEND_FASTCALL zend_hash_get_current_key_type_ex ( HashTable * ht,
HashPosition * pos )

Definition at line 2893 of file zend_hash.c.

◆ zend_hash_get_current_key_zval_ex()

ZEND_API void ZEND_FASTCALL zend_hash_get_current_key_zval_ex ( const HashTable * ht,
zval * key,
const HashPosition * pos )

Definition at line 2870 of file zend_hash.c.

◆ zend_hash_get_current_pos()

ZEND_API HashPosition ZEND_FASTCALL zend_hash_get_current_pos ( const HashTable * ht)

Definition at line 512 of file zend_hash.c.

◆ zend_hash_get_current_pos_ex()

ZEND_API HashPosition ZEND_FASTCALL zend_hash_get_current_pos_ex ( const HashTable * ht,
HashPosition pos )

Definition at line 517 of file zend_hash.c.

◆ zend_hash_graceful_destroy()

ZEND_API void ZEND_FASTCALL zend_hash_graceful_destroy ( HashTable * ht)

Definition at line 1986 of file zend_hash.c.

◆ zend_hash_graceful_reverse_destroy()

ZEND_API void ZEND_FASTCALL zend_hash_graceful_reverse_destroy ( HashTable * ht)

Definition at line 2015 of file zend_hash.c.

◆ zend_hash_index_add()

ZEND_API zval *ZEND_FASTCALL zend_hash_index_add ( HashTable * ht,
zend_ulong h,
zval * pData )

Definition at line 1209 of file zend_hash.c.

◆ zend_hash_index_add_empty_element()

ZEND_API zval *ZEND_FASTCALL zend_hash_index_add_empty_element ( HashTable * ht,
zend_ulong h )

Definition at line 1059 of file zend_hash.c.

◆ zend_hash_index_add_new()

ZEND_API zval *ZEND_FASTCALL zend_hash_index_add_new ( HashTable * ht,
zend_ulong h,
zval * pData )

Definition at line 1214 of file zend_hash.c.

◆ zend_hash_index_add_or_update()

ZEND_API zval *ZEND_FASTCALL zend_hash_index_add_or_update ( HashTable * ht,
zend_ulong h,
zval * pData,
uint32_t flag )

Definition at line 1191 of file zend_hash.c.

◆ zend_hash_index_del()

ZEND_API zend_result ZEND_FASTCALL zend_hash_index_del ( HashTable * ht,
zend_ulong h )

Definition at line 1692 of file zend_hash.c.

◆ zend_hash_index_find()

ZEND_API zval *ZEND_FASTCALL zend_hash_index_find ( const HashTable * ht,
zend_ulong h )

Definition at line 2701 of file zend_hash.c.

◆ zend_hash_index_lookup()

ZEND_API zval *ZEND_FASTCALL zend_hash_index_lookup ( HashTable * ht,
zend_ulong h )

Definition at line 1234 of file zend_hash.c.

◆ zend_hash_index_update()

ZEND_API zval *ZEND_FASTCALL zend_hash_index_update ( HashTable * ht,
zend_ulong h,
zval * pData )

Definition at line 1219 of file zend_hash.c.

◆ zend_hash_internal_pointer_end_ex()

ZEND_API void ZEND_FASTCALL zend_hash_internal_pointer_end_ex ( HashTable * ht,
HashPosition * pos )

Definition at line 2744 of file zend_hash.c.

◆ zend_hash_internal_pointer_reset_ex()

ZEND_API void ZEND_FASTCALL zend_hash_internal_pointer_reset_ex ( HashTable * ht,
HashPosition * pos )

Definition at line 2733 of file zend_hash.c.

◆ zend_hash_iterator_add()

ZEND_API uint32_t ZEND_FASTCALL zend_hash_iterator_add ( HashTable * ht,
HashPosition pos )

Definition at line 537 of file zend_hash.c.

◆ zend_hash_iterator_del()

ZEND_API void ZEND_FASTCALL zend_hash_iterator_del ( uint32_t idx)

Definition at line 649 of file zend_hash.c.

◆ zend_hash_iterator_pos()

ZEND_API HashPosition ZEND_FASTCALL zend_hash_iterator_pos ( uint32_t idx,
HashTable * ht )

Definition at line 608 of file zend_hash.c.

◆ zend_hash_iterator_pos_ex()

ZEND_API HashPosition ZEND_FASTCALL zend_hash_iterator_pos_ex ( uint32_t idx,
zval * array )

Definition at line 627 of file zend_hash.c.

◆ zend_hash_iterators_advance()

ZEND_API void ZEND_FASTCALL zend_hash_iterators_advance ( HashTable * ht,
HashPosition step )

Definition at line 724 of file zend_hash.c.

◆ zend_hash_iterators_lower_pos()

ZEND_API HashPosition ZEND_FASTCALL zend_hash_iterators_lower_pos ( HashTable * ht,
HashPosition start )

Definition at line 694 of file zend_hash.c.

◆ zend_hash_lookup()

ZEND_API zval *ZEND_FASTCALL zend_hash_lookup ( HashTable * ht,
zend_string * key )

Definition at line 1012 of file zend_hash.c.

◆ zend_hash_merge()

ZEND_API void ZEND_FASTCALL zend_hash_merge ( HashTable * target,
HashTable * source,
copy_ctor_func_t pCopyConstructor,
bool overwrite )

Definition at line 2547 of file zend_hash.c.

◆ zend_hash_merge_ex()

ZEND_API void ZEND_FASTCALL zend_hash_merge_ex ( HashTable * target,
HashTable * source,
copy_ctor_func_t pCopyConstructor,
merge_checker_func_t pMergeSource,
void * pParam )

Definition at line 2643 of file zend_hash.c.

◆ zend_hash_minmax()

ZEND_API zval *ZEND_FASTCALL zend_hash_minmax ( const HashTable * ht,
compare_func_t compar,
uint32_t flag )

Definition at line 3224 of file zend_hash.c.

◆ zend_hash_move_backwards_ex()

ZEND_API zend_result ZEND_FASTCALL zend_hash_move_backwards_ex ( HashTable * ht,
HashPosition * pos )

Definition at line 2812 of file zend_hash.c.

◆ zend_hash_move_forward_ex()

ZEND_API zend_result ZEND_FASTCALL zend_hash_move_forward_ex ( HashTable * ht,
HashPosition * pos )

Definition at line 2773 of file zend_hash.c.

◆ zend_hash_next_index_insert()

ZEND_API zval *ZEND_FASTCALL zend_hash_next_index_insert ( HashTable * ht,
zval * pData )

Definition at line 1224 of file zend_hash.c.

◆ zend_hash_next_index_insert_new()

ZEND_API zval *ZEND_FASTCALL zend_hash_next_index_insert_new ( HashTable * ht,
zval * pData )

Definition at line 1229 of file zend_hash.c.

◆ zend_hash_packed_del_val()

ZEND_API void ZEND_FASTCALL zend_hash_packed_del_val ( HashTable * ht,
zval * zv )

Definition at line 1517 of file zend_hash.c.

◆ zend_hash_packed_grow()

ZEND_API void ZEND_FASTCALL zend_hash_packed_grow ( HashTable * ht)

Definition at line 311 of file zend_hash.c.

◆ zend_hash_packed_to_hash()

ZEND_API void ZEND_FASTCALL zend_hash_packed_to_hash ( HashTable * ht)

Definition at line 346 of file zend_hash.c.

◆ zend_hash_real_init()

ZEND_API void ZEND_FASTCALL zend_hash_real_init ( HashTable * ht,
bool packed )

Definition at line 322 of file zend_hash.c.

◆ zend_hash_real_init_mixed()

ZEND_API void ZEND_FASTCALL zend_hash_real_init_mixed ( HashTable * ht)

Definition at line 338 of file zend_hash.c.

◆ zend_hash_real_init_packed()

ZEND_API void ZEND_FASTCALL zend_hash_real_init_packed ( HashTable * ht)

Definition at line 330 of file zend_hash.c.

◆ zend_hash_rehash()

ZEND_API void ZEND_FASTCALL zend_hash_rehash ( HashTable * ht)

Definition at line 1328 of file zend_hash.c.

◆ zend_hash_reverse_apply()

ZEND_API void ZEND_FASTCALL zend_hash_reverse_apply ( HashTable * ht,
apply_func_t apply_func )

Definition at line 2192 of file zend_hash.c.

◆ zend_hash_set_bucket_key()

ZEND_API zval *ZEND_FASTCALL zend_hash_set_bucket_key ( HashTable * ht,
Bucket * b,
zend_string * key )

Definition at line 1239 of file zend_hash.c.

◆ zend_hash_sort_ex()

ZEND_API void ZEND_FASTCALL zend_hash_sort_ex ( HashTable * ht,
sort_func_t sort,
bucket_compare_func_t compar,
bool renumber )

Definition at line 3068 of file zend_hash.c.

◆ zend_hash_str_add()

ZEND_API zval *ZEND_FASTCALL zend_hash_str_add ( HashTable * ht,
const char * str,
size_t len,
zval * pData )

Definition at line 1045 of file zend_hash.c.

◆ zend_hash_str_add_empty_element()

ZEND_API zval *ZEND_FASTCALL zend_hash_str_add_empty_element ( HashTable * ht,
const char * str,
size_t len )

Definition at line 1075 of file zend_hash.c.

◆ zend_hash_str_add_new()

ZEND_API zval *ZEND_FASTCALL zend_hash_str_add_new ( HashTable * ht,
const char * str,
size_t len,
zval * pData )

Definition at line 1052 of file zend_hash.c.

◆ zend_hash_str_add_or_update()

ZEND_API zval *ZEND_FASTCALL zend_hash_str_add_or_update ( HashTable * ht,
const char * str,
size_t len,
zval * pData,
uint32_t flag )

Definition at line 1017 of file zend_hash.c.

◆ zend_hash_str_del()

ZEND_API zend_result ZEND_FASTCALL zend_hash_str_del ( HashTable * ht,
const char * str,
size_t len )

Definition at line 1661 of file zend_hash.c.

◆ zend_hash_str_del_ind()

ZEND_API zend_result ZEND_FASTCALL zend_hash_str_del_ind ( HashTable * ht,
const char * str,
size_t len )

Definition at line 1616 of file zend_hash.c.

◆ zend_hash_str_find()

ZEND_API zval *ZEND_FASTCALL zend_hash_str_find ( const HashTable * ht,
const char * str,
size_t len )

Definition at line 2689 of file zend_hash.c.

◆ zend_hash_str_find_ptr_lc()

ZEND_API void * zend_hash_str_find_ptr_lc ( const HashTable * ht,
const char * str,
size_t len )

Definition at line 90 of file zend_hash.c.

◆ zend_hash_str_update()

ZEND_API zval *ZEND_FASTCALL zend_hash_str_update ( HashTable * ht,
const char * str,
size_t len,
zval * pData )

Definition at line 1031 of file zend_hash.c.

◆ zend_hash_str_update_ind()

ZEND_API zval *ZEND_FASTCALL zend_hash_str_update_ind ( HashTable * ht,
const char * str,
size_t len,
zval * pData )

Definition at line 1038 of file zend_hash.c.

◆ zend_hash_to_packed()

ZEND_API void ZEND_FASTCALL zend_hash_to_packed ( HashTable * ht)

Definition at line 374 of file zend_hash.c.

◆ zend_hash_update()

ZEND_API zval *ZEND_FASTCALL zend_hash_update ( HashTable * ht,
zend_string * key,
zval * pData )

Definition at line 997 of file zend_hash.c.

◆ zend_hash_update_ind()

ZEND_API zval *ZEND_FASTCALL zend_hash_update_ind ( HashTable * ht,
zend_string * key,
zval * pData )

Definition at line 1002 of file zend_hash.c.

◆ zend_new_pair()

ZEND_API HashTable *ZEND_FASTCALL zend_new_pair ( zval * val1,
zval * val2 )

Definition at line 296 of file zend_hash.c.

◆ zend_proptable_to_symtable()

ZEND_API HashTable *ZEND_FASTCALL zend_proptable_to_symtable ( HashTable * ht,
bool always_duplicate )

Definition at line 3387 of file zend_hash.c.

◆ zend_symtable_clean()

ZEND_API void ZEND_FASTCALL zend_symtable_clean ( HashTable * ht)

Definition at line 1946 of file zend_hash.c.

◆ zend_symtable_to_proptable()

ZEND_API HashTable *ZEND_FASTCALL zend_symtable_to_proptable ( HashTable * ht)

Definition at line 3334 of file zend_hash.c.

Variable Documentation

◆ zend_empty_array

ZEND_API const HashTable zend_empty_array
Initial value:
= {
.gc.refcount = 2,
.gc.u.type_info = IS_ARRAY | (GC_IMMUTABLE << GC_FLAGS_SHIFT),
.nTableMask = HT_MIN_MASK,
{.arData = (Bucket*)&uninitialized_bucket[2]},
.nNumUsed = 0,
.nNumOfElements = 0,
.nTableSize = HT_MIN_SIZE,
.nInternalPointer = 0,
.nNextFreeElement = ZEND_LONG_MIN,
.pDestructor = ZVAL_PTR_DTOR
}
uint32_t u
Definition cdf.c:78
#define HASH_FLAG_UNINITIALIZED
Definition zend_hash.h:42
#define ZEND_LONG_MIN
Definition zend_long.h:46
#define HT_MIN_SIZE
Definition zend_types.h:432
#define IS_ARRAY
Definition zend_types.h:607
struct _Bucket Bucket
#define HT_MIN_MASK
Definition zend_types.h:431
#define GC_IMMUTABLE
Definition zend_types.h:780
#define GC_FLAGS_SHIFT
Definition zend_types.h:739
#define ZVAL_PTR_DTOR

Definition at line 248 of file zend_hash.c.