- SQLite3:
. Updated to SQLite 3.20.0. (cmb)
+- SPL:
+ . Added spl_object_id(). (Tyson Andre)
+
03 Aug 2017, PHP 7.2.0beta2
- Core:
}
/* }}} */
+/* {{{ 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;
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
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)
--- /dev/null
+--TEST--
+SPL: spl_object_id()
+--FILE--
+<?php
+
+var_dump(spl_object_id(new stdClass));
+var_dump(spl_object_id(42));
+var_dump(spl_object_id());
+$a = new stdClass();
+var_dump(spl_object_id(new stdClass) === spl_object_id($a));
+
+?>
+--EXPECTF--
+int(%d)
+
+Warning: spl_object_id() expects parameter 1 to be object, integer given in %sspl_object_id.php on line %d
+NULL
+
+Warning: spl_object_id() expects exactly 1 parameter, 0 given in %sspl_object_id.php on line %d
+NULL
+bool(false)