php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
zend_operators.h File Reference
#include <errno.h>
#include <math.h>
#include <assert.h>
#include <stddef.h>
#include <stdint.h>
#include "zend_portability.h"
#include "zend_strtod.h"
#include "zend_multiply.h"
#include "zend_object_handlers.h"

Go to the source code of this file.

Macros

#define LONG_SIGN_MASK   ZEND_LONG_MIN
 
#define ZEND_DOUBLE_FITS_LONG(d)
 
#define ZEND_IS_DIGIT(c)
 
#define ZEND_IS_XDIGIT(c)
 
#define _zval_get_long(op)
 
#define _zval_get_double(op)
 
#define _zval_get_string(op)
 
#define _zval_get_long_func(op)
 
#define _zval_get_double_func(op)
 
#define _zval_get_string_func(op)
 
#define convert_to_string(op)
 
#define zval_is_true(op)
 
#define ZEND_UNCOMPARABLE   1
 
#define zend_tolower_ascii(c)
 
#define zend_toupper_ascii(c)
 
#define convert_to_null_ex(zv)
 
#define convert_to_boolean_ex(zv)
 
#define convert_to_long_ex(zv)
 
#define convert_to_double_ex(zv)
 
#define convert_to_string_ex(zv)
 
#define convert_to_array_ex(zv)
 
#define convert_to_object_ex(zv)
 
#define convert_scalar_to_number_ex(zv)
 
#define ZVAL_OFFSETOF_TYPE    (offsetof(zval, u1.type_info) - offsetof(zval, value))
 
#define ZEND_USE_ASM_ARITHMETIC   0
 

Functions

ZEND_API zend_result ZEND_FASTCALL add_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL sub_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL mul_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL pow_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL div_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL mod_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL boolean_xor_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL boolean_not_function (zval *result, zval *op1)
 
ZEND_API zend_result ZEND_FASTCALL bitwise_not_function (zval *result, zval *op1)
 
ZEND_API zend_result ZEND_FASTCALL bitwise_or_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL bitwise_and_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL bitwise_xor_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL shift_left_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL shift_right_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL concat_function (zval *result, zval *op1, zval *op2)
 
ZEND_API bool ZEND_FASTCALL zend_is_identical (const zval *op1, const zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL is_equal_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL is_identical_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL is_not_identical_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL is_not_equal_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL is_smaller_function (zval *result, zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL is_smaller_or_equal_function (zval *result, zval *op1, zval *op2)
 
ZEND_API bool ZEND_FASTCALL zend_class_implements_interface (const zend_class_entry *class_ce, const zend_class_entry *interface_ce)
 
ZEND_API bool ZEND_FASTCALL instanceof_function_slow (const zend_class_entry *instance_ce, const zend_class_entry *ce)
 
ZEND_API bool zend_string_only_has_ascii_alphanumeric (const zend_string *str)
 
ZEND_API uint8_t ZEND_FASTCALL _is_numeric_string_ex (const char *str, size_t length, zend_long *lval, double *dval, bool allow_errors, int *oflow_info, bool *trailing_data)
 
ZEND_API const char *ZEND_FASTCALL zend_memnstr_ex (const char *haystack, const char *needle, size_t needle_len, const char *end)
 
ZEND_API const char *ZEND_FASTCALL zend_memnrstr_ex (const char *haystack, const char *needle, size_t needle_len, const char *end)
 
ZEND_API zend_long ZEND_FASTCALL zend_dval_to_lval_slow (double d)
 
ZEND_API void zend_incompatible_double_to_long_error (double d)
 
ZEND_API void zend_incompatible_string_to_long_error (const zend_string *s)
 
ZEND_API uint8_t ZEND_FASTCALL is_numeric_str_function (const zend_string *str, zend_long *lval, double *dval)
 
ZEND_API zend_result ZEND_FASTCALL increment_function (zval *op1)
 
ZEND_API zend_result ZEND_FASTCALL decrement_function (zval *op2)
 
ZEND_API void ZEND_FASTCALL convert_scalar_to_number (zval *op)
 
ZEND_API void ZEND_FASTCALL _convert_to_string (zval *op)
 
ZEND_API void ZEND_FASTCALL convert_to_long (zval *op)
 
ZEND_API void ZEND_FASTCALL convert_to_double (zval *op)
 
ZEND_API void ZEND_FASTCALL convert_to_null (zval *op)
 
ZEND_API void ZEND_FASTCALL convert_to_boolean (zval *op)
 
ZEND_API void ZEND_FASTCALL convert_to_array (zval *op)
 
ZEND_API void ZEND_FASTCALL convert_to_object (zval *op)
 
ZEND_API zend_long ZEND_FASTCALL zval_get_long_func (const zval *op, bool is_strict)
 
ZEND_API zend_long ZEND_FASTCALL zval_try_get_long (const zval *op, bool *failed)
 
ZEND_API double ZEND_FASTCALL zval_get_double_func (const zval *op)
 
ZEND_API zend_string *ZEND_FASTCALL zval_get_string_func (zval *op)
 
ZEND_API zend_string *ZEND_FASTCALL zval_try_get_string_func (zval *op)
 
ZEND_API bool ZEND_FASTCALL _try_convert_to_string (zval *op)
 
ZEND_API bool ZEND_FASTCALL zend_is_true (const zval *op)
 
ZEND_API bool ZEND_FASTCALL zend_object_is_true (const zval *op)
 
ZEND_API int ZEND_FASTCALL zend_compare (zval *op1, zval *op2)
 
ZEND_API zend_result ZEND_FASTCALL compare_function (zval *result, zval *op1, zval *op2)
 
ZEND_API int ZEND_FASTCALL numeric_compare_function (zval *op1, zval *op2)
 
ZEND_API int ZEND_FASTCALL string_compare_function_ex (zval *op1, zval *op2, bool case_insensitive)
 
ZEND_API int ZEND_FASTCALL string_compare_function (zval *op1, zval *op2)
 
ZEND_API int ZEND_FASTCALL string_case_compare_function (zval *op1, zval *op2)
 
ZEND_API int ZEND_FASTCALL string_locale_compare_function (zval *op1, zval *op2)
 
ZEND_API void ZEND_FASTCALL zend_str_tolower (char *str, size_t length)
 
ZEND_API void ZEND_FASTCALL zend_str_toupper (char *str, size_t length)
 
ZEND_API char *ZEND_FASTCALL zend_str_tolower_copy (char *dest, const char *source, size_t length)
 
ZEND_API char *ZEND_FASTCALL zend_str_toupper_copy (char *dest, const char *source, size_t length)
 
ZEND_API char *ZEND_FASTCALL zend_str_tolower_dup (const char *source, size_t length)
 
ZEND_API char *ZEND_FASTCALL zend_str_toupper_dup (const char *source, size_t length)
 
ZEND_API char *ZEND_FASTCALL zend_str_tolower_dup_ex (const char *source, size_t length)
 
ZEND_API char *ZEND_FASTCALL zend_str_toupper_dup_ex (const char *source, size_t length)
 
ZEND_API zend_string *ZEND_FASTCALL zend_string_tolower_ex (zend_string *str, bool persistent)
 
ZEND_API zend_string *ZEND_FASTCALL zend_string_toupper_ex (zend_string *str, bool persistent)
 
ZEND_API int ZEND_FASTCALL zend_binary_zval_strcmp (zval *s1, zval *s2)
 
ZEND_API int ZEND_FASTCALL zend_binary_zval_strncmp (zval *s1, zval *s2, zval *s3)
 
ZEND_API int ZEND_FASTCALL zend_binary_strcmp (const char *s1, size_t len1, const char *s2, size_t len2)
 
ZEND_API int ZEND_FASTCALL zend_binary_strncmp (const char *s1, size_t len1, const char *s2, size_t len2, size_t length)
 
ZEND_API int ZEND_FASTCALL zend_binary_strcasecmp (const char *s1, size_t len1, const char *s2, size_t len2)
 
ZEND_API int ZEND_FASTCALL zend_binary_strncasecmp (const char *s1, size_t len1, const char *s2, size_t len2, size_t length)
 
ZEND_API int ZEND_FASTCALL zend_binary_strcasecmp_l (const char *s1, size_t len1, const char *s2, size_t len2)
 
ZEND_API int ZEND_FASTCALL zend_binary_strncasecmp_l (const char *s1, size_t len1, const char *s2, size_t len2, size_t length)
 
ZEND_API bool ZEND_FASTCALL zendi_smart_streq (zend_string *s1, zend_string *s2)
 
ZEND_API int ZEND_FASTCALL zendi_smart_strcmp (zend_string *s1, zend_string *s2)
 
ZEND_API int ZEND_FASTCALL zend_compare_symbol_tables (HashTable *ht1, HashTable *ht2)
 
ZEND_API int ZEND_FASTCALL zend_compare_arrays (zval *a1, zval *a2)
 
ZEND_API int ZEND_FASTCALL zend_compare_objects (zval *o1, zval *o2)
 
ZEND_ATTRIBUTE_DEPRECATED ZEND_API int ZEND_FASTCALL zend_atoi (const char *str, size_t str_len)
 
ZEND_ATTRIBUTE_DEPRECATED ZEND_API zend_long ZEND_FASTCALL zend_atol (const char *str, size_t str_len)
 
ZEND_API void zend_update_current_locale (void)
 
ZEND_API void zend_reset_lc_ctype_locale (void)
 
ZEND_API zend_string *ZEND_FASTCALL zend_long_to_str (zend_long num)
 
ZEND_API zend_string *ZEND_FASTCALL zend_ulong_to_str (zend_ulong num)
 
ZEND_API zend_string *ZEND_FASTCALL zend_u64_to_str (uint64_t num)
 
ZEND_API zend_string *ZEND_FASTCALL zend_i64_to_str (int64_t num)
 
ZEND_API zend_string *ZEND_FASTCALL zend_double_to_str (double num)
 

Variables

ZEND_API const unsigned char zend_tolower_map [256]
 
ZEND_API const unsigned char zend_toupper_map [256]
 

Macro Definition Documentation

◆ _zval_get_double

#define _zval_get_double ( op)
Value:
zval_get_double(op)

Definition at line 379 of file zend_operators.h.

◆ _zval_get_double_func

#define _zval_get_double_func ( op)
Value:
ZEND_API double ZEND_FASTCALL zval_get_double_func(const zval *op)

Definition at line 382 of file zend_operators.h.

◆ _zval_get_long

#define _zval_get_long ( op)
Value:
zval_get_long(op)

Definition at line 378 of file zend_operators.h.

◆ _zval_get_long_func

#define _zval_get_long_func ( op)
Value:
ZEND_API zend_long ZEND_FASTCALL zval_get_long_func(const zval *op, bool is_strict)

Definition at line 381 of file zend_operators.h.

◆ _zval_get_string

#define _zval_get_string ( op)
Value:
zval_get_string(op)

Definition at line 380 of file zend_operators.h.

◆ _zval_get_string_func

#define _zval_get_string_func ( op)
Value:
ZEND_API zend_string *ZEND_FASTCALL zval_get_string_func(zval *op)

Definition at line 383 of file zend_operators.h.

◆ convert_scalar_to_number_ex

#define convert_scalar_to_number_ex ( zv)
Value:
zval * zv
Definition ffi.c:3975
ZEND_API void ZEND_FASTCALL convert_scalar_to_number(zval *op)

Definition at line 513 of file zend_operators.h.

◆ convert_to_array_ex

#define convert_to_array_ex ( zv)
Value:
ZEND_API void ZEND_FASTCALL convert_to_array(zval *op)

Definition at line 511 of file zend_operators.h.

◆ convert_to_boolean_ex

#define convert_to_boolean_ex ( zv)
Value:
ZEND_API void ZEND_FASTCALL convert_to_boolean(zval *op)

Definition at line 507 of file zend_operators.h.

◆ convert_to_double_ex

#define convert_to_double_ex ( zv)
Value:
ZEND_API void ZEND_FASTCALL convert_to_double(zval *op)

Definition at line 509 of file zend_operators.h.

◆ convert_to_long_ex

#define convert_to_long_ex ( zv)
Value:
ZEND_API void ZEND_FASTCALL convert_to_long(zval *op)

Definition at line 508 of file zend_operators.h.

◆ convert_to_null_ex

#define convert_to_null_ex ( zv)
Value:
ZEND_API void ZEND_FASTCALL convert_to_null(zval *op)

Definition at line 506 of file zend_operators.h.

◆ convert_to_object_ex

#define convert_to_object_ex ( zv)
Value:
ZEND_API void ZEND_FASTCALL convert_to_object(zval *op)

Definition at line 512 of file zend_operators.h.

◆ convert_to_string

#define convert_to_string ( op)
Value:
if (Z_TYPE_P(op) != IS_STRING) { _convert_to_string((op)); }
ZEND_API void ZEND_FASTCALL _convert_to_string(zval *op)
#define Z_TYPE_P(zval_p)
Definition zend_types.h:660
#define IS_STRING
Definition zend_types.h:606

Definition at line 385 of file zend_operators.h.

◆ convert_to_string_ex

#define convert_to_string_ex ( zv)
Value:
#define convert_to_string(op)

Definition at line 510 of file zend_operators.h.

◆ LONG_SIGN_MASK

#define LONG_SIGN_MASK   ZEND_LONG_MIN

Definition at line 52 of file zend_operators.h.

◆ ZEND_DOUBLE_FITS_LONG

#define ZEND_DOUBLE_FITS_LONG ( d)
Value:
(!((d) > (double)ZEND_LONG_MAX || (d) < (double)ZEND_LONG_MIN))
#define ZEND_LONG_MIN
Definition zend_long.h:46
#define ZEND_LONG_MAX
Definition zend_long.h:45

Definition at line 112 of file zend_operators.h.

◆ ZEND_IS_DIGIT

#define ZEND_IS_DIGIT ( c)
Value:
((c) >= '0' && (c) <= '9')

Definition at line 158 of file zend_operators.h.

◆ ZEND_IS_XDIGIT

#define ZEND_IS_XDIGIT ( c)
Value:
(((c) >= 'A' && (c) <= 'F') || ((c) >= 'a' && (c) <= 'f'))

Definition at line 159 of file zend_operators.h.

◆ zend_tolower_ascii

#define zend_tolower_ascii ( c)
Value:
(zend_tolower_map[(unsigned char)(c)])
ZEND_API const unsigned char zend_tolower_map[256]

Definition at line 464 of file zend_operators.h.

◆ zend_toupper_ascii

#define zend_toupper_ascii ( c)
Value:
(zend_toupper_map[(unsigned char)(c)])
ZEND_API const unsigned char zend_toupper_map[256]

Definition at line 465 of file zend_operators.h.

◆ ZEND_UNCOMPARABLE

#define ZEND_UNCOMPARABLE   1

Definition at line 449 of file zend_operators.h.

◆ ZEND_USE_ASM_ARITHMETIC

#define ZEND_USE_ASM_ARITHMETIC   0

Definition at line 526 of file zend_operators.h.

◆ zval_is_true

#define zval_is_true ( op)
Value:
ZEND_API bool ZEND_FASTCALL zend_is_true(const zval *op)

Definition at line 391 of file zend_operators.h.

◆ ZVAL_OFFSETOF_TYPE

#define ZVAL_OFFSETOF_TYPE    (offsetof(zval, u1.type_info) - offsetof(zval, value))

Definition at line 520 of file zend_operators.h.

Function Documentation

◆ _convert_to_string()

ZEND_API void ZEND_FASTCALL _convert_to_string ( zval * op)

Definition at line 728 of file zend_operators.c.

◆ _is_numeric_string_ex()

ZEND_API uint8_t ZEND_FASTCALL _is_numeric_string_ex ( const char * str,
size_t length,
zend_long * lval,
double * dval,
bool allow_errors,
int * oflow_info,
bool * trailing_data )

Checks whether the string "str" with length "length" is numeric. The value of allow_errors determines whether it's required to be entirely numeric, or just its prefix. Leading whitespace is allowed.

The function returns 0 if the string did not contain a valid number; IS_LONG if it contained a number that fits within the range of a long; or IS_DOUBLE if the number was out of long range or contained a decimal point/exponent. The number's value is returned into the respective pointer, *lval or *dval, if that pointer is not NULL.

This variant also gives information if a string that represents an integer could not be represented as such due to overflow. It writes 1 to oflow_info if the integer is larger than ZEND_LONG_MAX and -1 if it's smaller than ZEND_LONG_MIN.

Definition at line 3519 of file zend_operators.c.

◆ _try_convert_to_string()

ZEND_API bool ZEND_FASTCALL _try_convert_to_string ( zval * op)

Definition at line 782 of file zend_operators.c.

◆ add_function()

ZEND_API zend_result ZEND_FASTCALL add_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1144 of file zend_operators.c.

◆ bitwise_and_function()

ZEND_API zend_result ZEND_FASTCALL bitwise_and_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1724 of file zend_operators.c.

◆ bitwise_not_function()

ZEND_API zend_result ZEND_FASTCALL bitwise_not_function ( zval * result,
zval * op1 )

Definition at line 1591 of file zend_operators.c.

◆ bitwise_or_function()

ZEND_API zend_result ZEND_FASTCALL bitwise_or_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1642 of file zend_operators.c.

◆ bitwise_xor_function()

ZEND_API zend_result ZEND_FASTCALL bitwise_xor_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1806 of file zend_operators.c.

◆ boolean_not_function()

ZEND_API zend_result ZEND_FASTCALL boolean_not_function ( zval * result,
zval * op1 )

Definition at line 1566 of file zend_operators.c.

◆ boolean_xor_function()

ZEND_API zend_result ZEND_FASTCALL boolean_xor_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1516 of file zend_operators.c.

◆ compare_function()

ZEND_API zend_result ZEND_FASTCALL compare_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 2199 of file zend_operators.c.

◆ concat_function()

ZEND_API zend_result ZEND_FASTCALL concat_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1961 of file zend_operators.c.

◆ convert_scalar_to_number()

ZEND_API void ZEND_FASTCALL convert_scalar_to_number ( zval * op)

Definition at line 242 of file zend_operators.c.

◆ convert_to_array()

ZEND_API void ZEND_FASTCALL convert_to_array ( zval * op)

Definition at line 805 of file zend_operators.c.

◆ convert_to_boolean()

ZEND_API void ZEND_FASTCALL convert_to_boolean ( zval * op)

Definition at line 663 of file zend_operators.c.

◆ convert_to_double()

ZEND_API void ZEND_FASTCALL convert_to_double ( zval * op)

Definition at line 597 of file zend_operators.c.

◆ convert_to_long()

ZEND_API void ZEND_FASTCALL convert_to_long ( zval * op)

Definition at line 540 of file zend_operators.c.

◆ convert_to_null()

ZEND_API void ZEND_FASTCALL convert_to_null ( zval * op)

Definition at line 656 of file zend_operators.c.

◆ convert_to_object()

ZEND_API void ZEND_FASTCALL convert_to_object ( zval * op)

Definition at line 851 of file zend_operators.c.

◆ decrement_function()

ZEND_API zend_result ZEND_FASTCALL decrement_function ( zval * op2)

Definition at line 2711 of file zend_operators.c.

◆ div_function()

ZEND_API zend_result ZEND_FASTCALL div_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1437 of file zend_operators.c.

◆ increment_function()

ZEND_API zend_result ZEND_FASTCALL increment_function ( zval * op1)

Definition at line 2626 of file zend_operators.c.

◆ instanceof_function_slow()

ZEND_API bool ZEND_FASTCALL instanceof_function_slow ( const zend_class_entry * instance_ce,
const zend_class_entry * ce )

Definition at line 2475 of file zend_operators.c.

◆ is_equal_function()

ZEND_API zend_result ZEND_FASTCALL is_equal_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 2430 of file zend_operators.c.

◆ is_identical_function()

ZEND_API zend_result ZEND_FASTCALL is_identical_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 2416 of file zend_operators.c.

◆ is_not_equal_function()

ZEND_API zend_result ZEND_FASTCALL is_not_equal_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 2437 of file zend_operators.c.

◆ is_not_identical_function()

ZEND_API zend_result ZEND_FASTCALL is_not_identical_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 2423 of file zend_operators.c.

◆ is_numeric_str_function()

ZEND_API uint8_t ZEND_FASTCALL is_numeric_str_function ( const zend_string * str,
zend_long * lval,
double * dval )

Definition at line 3513 of file zend_operators.c.

◆ is_smaller_function()

ZEND_API zend_result ZEND_FASTCALL is_smaller_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 2444 of file zend_operators.c.

◆ is_smaller_or_equal_function()

ZEND_API zend_result ZEND_FASTCALL is_smaller_or_equal_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 2451 of file zend_operators.c.

◆ mod_function()

ZEND_API zend_result ZEND_FASTCALL mod_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1482 of file zend_operators.c.

◆ mul_function()

ZEND_API zend_result ZEND_FASTCALL mul_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1278 of file zend_operators.c.

◆ numeric_compare_function()

ZEND_API int ZEND_FASTCALL numeric_compare_function ( zval * op1,
zval * op2 )

Definition at line 2188 of file zend_operators.c.

◆ pow_function()

ZEND_API zend_result ZEND_FASTCALL pow_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1359 of file zend_operators.c.

◆ shift_left_function()

ZEND_API zend_result ZEND_FASTCALL shift_left_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1888 of file zend_operators.c.

◆ shift_right_function()

ZEND_API zend_result ZEND_FASTCALL shift_right_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1925 of file zend_operators.c.

◆ string_case_compare_function()

ZEND_API int ZEND_FASTCALL string_case_compare_function ( zval * op1,
zval * op2 )

Definition at line 2153 of file zend_operators.c.

◆ string_compare_function()

ZEND_API int ZEND_FASTCALL string_compare_function ( zval * op1,
zval * op2 )

Definition at line 2131 of file zend_operators.c.

◆ string_compare_function_ex()

ZEND_API int ZEND_FASTCALL string_compare_function_ex ( zval * op1,
zval * op2,
bool case_insensitive )

Definition at line 2112 of file zend_operators.c.

◆ string_locale_compare_function()

ZEND_API int ZEND_FASTCALL string_locale_compare_function ( zval * op1,
zval * op2 )

Definition at line 2175 of file zend_operators.c.

◆ sub_function()

ZEND_API zend_result ZEND_FASTCALL sub_function ( zval * result,
zval * op1,
zval * op2 )

Definition at line 1209 of file zend_operators.c.

◆ zend_atoi()

ZEND_ATTRIBUTE_DEPRECATED ZEND_API int ZEND_FASTCALL zend_atoi ( const char * str,
size_t str_len )

Deprecated in favor of ZEND_STRTOL()

Definition at line 226 of file zend_operators.c.

◆ zend_atol()

ZEND_ATTRIBUTE_DEPRECATED ZEND_API zend_long ZEND_FASTCALL zend_atol ( const char * str,
size_t str_len )

Deprecated in favor of ZEND_STRTOL()

Definition at line 221 of file zend_operators.c.

◆ zend_binary_strcasecmp()

ZEND_API int ZEND_FASTCALL zend_binary_strcasecmp ( const char * s1,
size_t len1,
const char * s2,
size_t len2 )

Definition at line 3189 of file zend_operators.c.

◆ zend_binary_strcasecmp_l()

ZEND_API int ZEND_FASTCALL zend_binary_strcasecmp_l ( const char * s1,
size_t len1,
const char * s2,
size_t len2 )

Definition at line 3232 of file zend_operators.c.

◆ zend_binary_strcmp()

ZEND_API int ZEND_FASTCALL zend_binary_strcmp ( const char * s1,
size_t len1,
const char * s2,
size_t len2 )

Definition at line 3157 of file zend_operators.c.

◆ zend_binary_strncasecmp()

ZEND_API int ZEND_FASTCALL zend_binary_strncasecmp ( const char * s1,
size_t len1,
const char * s2,
size_t len2,
size_t length )

Definition at line 3211 of file zend_operators.c.

◆ zend_binary_strncasecmp_l()

ZEND_API int ZEND_FASTCALL zend_binary_strncasecmp_l ( const char * s1,
size_t len1,
const char * s2,
size_t len2,
size_t length )

Definition at line 3254 of file zend_operators.c.

◆ zend_binary_strncmp()

ZEND_API int ZEND_FASTCALL zend_binary_strncmp ( const char * s1,
size_t len1,
const char * s2,
size_t len2,
size_t length )

Definition at line 3173 of file zend_operators.c.

◆ zend_binary_zval_strcmp()

ZEND_API int ZEND_FASTCALL zend_binary_zval_strcmp ( zval * s1,
zval * s2 )

Definition at line 3275 of file zend_operators.c.

◆ zend_binary_zval_strncmp()

ZEND_API int ZEND_FASTCALL zend_binary_zval_strncmp ( zval * s1,
zval * s2,
zval * s3 )

Definition at line 3281 of file zend_operators.c.

◆ zend_class_implements_interface()

ZEND_API bool ZEND_FASTCALL zend_class_implements_interface ( const zend_class_entry * class_ce,
const zend_class_entry * interface_ce )

Definition at line 2458 of file zend_operators.c.

◆ zend_compare()

ZEND_API int ZEND_FASTCALL zend_compare ( zval * op1,
zval * op2 )

Definition at line 2250 of file zend_operators.c.

◆ zend_compare_arrays()

ZEND_API int ZEND_FASTCALL zend_compare_arrays ( zval * a1,
zval * a2 )

Definition at line 3398 of file zend_operators.c.

◆ zend_compare_objects()

ZEND_API int ZEND_FASTCALL zend_compare_objects ( zval * o1,
zval * o2 )

Definition at line 3404 of file zend_operators.c.

◆ zend_compare_symbol_tables()

ZEND_API int ZEND_FASTCALL zend_compare_symbol_tables ( HashTable * ht1,
HashTable * ht2 )

Definition at line 3392 of file zend_operators.c.

◆ zend_double_to_str()

ZEND_API zend_string *ZEND_FASTCALL zend_double_to_str ( double num)

Definition at line 3502 of file zend_operators.c.

◆ zend_dval_to_lval_slow()

ZEND_API zend_long ZEND_FASTCALL zend_dval_to_lval_slow ( double d)

Definition at line 3755 of file zend_operators.c.

◆ zend_i64_to_str()

ZEND_API zend_string *ZEND_FASTCALL zend_i64_to_str ( int64_t num)

Definition at line 3489 of file zend_operators.c.

◆ zend_incompatible_double_to_long_error()

ZEND_API void zend_incompatible_double_to_long_error ( double d)

Definition at line 892 of file zend_operators.c.

◆ zend_incompatible_string_to_long_error()

ZEND_API void zend_incompatible_string_to_long_error ( const zend_string * s)

Definition at line 896 of file zend_operators.c.

◆ zend_is_identical()

ZEND_API bool ZEND_FASTCALL zend_is_identical ( const zval * op1,
const zval * op2 )

Definition at line 2387 of file zend_operators.c.

◆ zend_is_true()

ZEND_API bool ZEND_FASTCALL zend_is_true ( const zval * op)

Definition at line 2819 of file zend_operators.c.

◆ zend_long_to_str()

ZEND_API zend_string *ZEND_FASTCALL zend_long_to_str ( zend_long num)

Definition at line 3418 of file zend_operators.c.

◆ zend_memnrstr_ex()

ZEND_API const char *ZEND_FASTCALL zend_memnrstr_ex ( const char * haystack,
const char * needle,
size_t needle_len,
const char * end )

Definition at line 3717 of file zend_operators.c.

◆ zend_memnstr_ex()

ZEND_API const char *ZEND_FASTCALL zend_memnstr_ex ( const char * haystack,
const char * needle,
size_t needle_len,
const char * end )

Definition at line 3683 of file zend_operators.c.

◆ zend_object_is_true()

ZEND_API bool ZEND_FASTCALL zend_object_is_true ( const zval * op)

Definition at line 2825 of file zend_operators.c.

◆ zend_reset_lc_ctype_locale()

ZEND_API void zend_reset_lc_ctype_locale ( void )

Definition at line 2917 of file zend_operators.c.

◆ zend_str_tolower()

ZEND_API void ZEND_FASTCALL zend_str_tolower ( char * str,
size_t length )

Definition at line 2998 of file zend_operators.c.

◆ zend_str_tolower_copy()

ZEND_API char *ZEND_FASTCALL zend_str_tolower_copy ( char * dest,
const char * source,
size_t length )

Definition at line 2970 of file zend_operators.c.

◆ zend_str_tolower_dup()

ZEND_API char *ZEND_FASTCALL zend_str_tolower_dup ( const char * source,
size_t length )

Definition at line 2986 of file zend_operators.c.

◆ zend_str_tolower_dup_ex()

ZEND_API char *ZEND_FASTCALL zend_str_tolower_dup_ex ( const char * source,
size_t length )

Definition at line 3011 of file zend_operators.c.

◆ zend_str_toupper()

ZEND_API void ZEND_FASTCALL zend_str_toupper ( char * str,
size_t length )

Definition at line 3004 of file zend_operators.c.

◆ zend_str_toupper_copy()

ZEND_API char *ZEND_FASTCALL zend_str_toupper_copy ( char * dest,
const char * source,
size_t length )

Definition at line 2978 of file zend_operators.c.

◆ zend_str_toupper_dup()

ZEND_API char *ZEND_FASTCALL zend_str_toupper_dup ( const char * source,
size_t length )

Definition at line 2992 of file zend_operators.c.

◆ zend_str_toupper_dup_ex()

ZEND_API char *ZEND_FASTCALL zend_str_toupper_dup_ex ( const char * source,
size_t length )

Definition at line 3035 of file zend_operators.c.

◆ zend_string_only_has_ascii_alphanumeric()

ZEND_API bool zend_string_only_has_ascii_alphanumeric ( const zend_string * str)

Definition at line 2508 of file zend_operators.c.

◆ zend_string_tolower_ex()

ZEND_API zend_string *ZEND_FASTCALL zend_string_tolower_ex ( zend_string * str,
bool persistent )

Definition at line 3059 of file zend_operators.c.

◆ zend_string_toupper_ex()

ZEND_API zend_string *ZEND_FASTCALL zend_string_toupper_ex ( zend_string * str,
bool persistent )

Definition at line 3108 of file zend_operators.c.

◆ zend_u64_to_str()

ZEND_API zend_string *ZEND_FASTCALL zend_u64_to_str ( uint64_t num)

Definition at line 3476 of file zend_operators.c.

◆ zend_ulong_to_str()

ZEND_API zend_string *ZEND_FASTCALL zend_ulong_to_str ( zend_ulong num)

Definition at line 3432 of file zend_operators.c.

◆ zend_update_current_locale()

ZEND_API void zend_update_current_locale ( void )

Definition at line 2837 of file zend_operators.c.

◆ zendi_smart_strcmp()

ZEND_API int ZEND_FASTCALL zendi_smart_strcmp ( zend_string * s1,
zend_string * s2 )

Definition at line 3335 of file zend_operators.c.

◆ zendi_smart_streq()

ZEND_API bool ZEND_FASTCALL zendi_smart_streq ( zend_string * s1,
zend_string * s2 )

Definition at line 3287 of file zend_operators.c.

◆ zval_get_double_func()

ZEND_API double ZEND_FASTCALL zval_get_double_func ( const zval * op)

Definition at line 971 of file zend_operators.c.

◆ zval_get_long_func()

ZEND_API zend_long ZEND_FASTCALL zval_get_long_func ( const zval * op,
bool is_strict )

Definition at line 901 of file zend_operators.c.

◆ zval_get_string_func()

ZEND_API zend_string *ZEND_FASTCALL zval_get_string_func ( zval * op)

Definition at line 1051 of file zend_operators.c.

◆ zval_try_get_long()

ZEND_API zend_long ZEND_FASTCALL zval_try_get_long ( const zval * op,
bool * failed )

Definition at line 456 of file zend_operators.c.

◆ zval_try_get_string_func()

ZEND_API zend_string *ZEND_FASTCALL zval_try_get_string_func ( zval * op)

Definition at line 1057 of file zend_operators.c.

Variable Documentation

◆ zend_tolower_map

ZEND_API const unsigned char zend_tolower_map[256]
extern

Definition at line 136 of file zend_operators.c.

◆ zend_toupper_map

ZEND_API const unsigned char zend_toupper_map[256]
extern

Definition at line 155 of file zend_operators.c.