diff options
Diffstat (limited to 'ext/spl/php_spl.c')
-rw-r--r-- | ext/spl/php_spl.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ext/spl/php_spl.c b/ext/spl/php_spl.c index 34b54e81e1..d5b0c42f65 100644 --- a/ext/spl/php_spl.c +++ b/ext/spl/php_spl.c @@ -794,6 +794,20 @@ PHP_FUNCTION(spl_object_hash) } /* }}} */ +/* {{{ proto int spl_object_id(object obj) + Returns the integer object handle for the given object */ +PHP_FUNCTION(spl_object_id) +{ + zval *obj; + + ZEND_PARSE_PARAMETERS_START(1, 1) + Z_PARAM_OBJECT(obj) + ZEND_PARSE_PARAMETERS_END(); + + RETURN_LONG((zend_long)Z_OBJ_HANDLE_P(obj)); +} +/* }}} */ + PHPAPI zend_string *php_spl_object_hash(zval *obj) /* {{{*/ { intptr_t hash_handle, hash_handlers; @@ -915,6 +929,10 @@ ZEND_END_ARG_INFO() ZEND_BEGIN_ARG_INFO_EX(arginfo_spl_object_hash, 0, 0, 1) ZEND_ARG_INFO(0, obj) ZEND_END_ARG_INFO() + +ZEND_BEGIN_ARG_INFO_EX(arginfo_spl_object_id, 0, 0, 1) + ZEND_ARG_INFO(0, obj) +ZEND_END_ARG_INFO() /* }}} */ /* {{{ spl_functions @@ -931,6 +949,7 @@ const zend_function_entry spl_functions[] = { PHP_FE(class_implements, arginfo_class_implements) PHP_FE(class_uses, arginfo_class_uses) PHP_FE(spl_object_hash, arginfo_spl_object_hash) + PHP_FE(spl_object_id, arginfo_spl_object_id) #ifdef SPL_ITERATORS_H PHP_FE(iterator_to_array, arginfo_iterator_to_array) PHP_FE(iterator_count, arginfo_iterator) |