summaryrefslogtreecommitdiff
path: root/Zend/zend_object_handlers.c
diff options
context:
space:
mode:
authorZeev Suraski <zeev@php.net>2003-07-30 17:12:06 +0000
committerZeev Suraski <zeev@php.net>2003-07-30 17:12:06 +0000
commitc0b46739caab84c0cf1aff21c3456de335afe395 (patch)
tree3cf860096c95c4017faa3565640fc277c540ffe6 /Zend/zend_object_handlers.c
parent4839ce59527f45a83da99251be0d35e8ec7ca868 (diff)
downloadphp-git-c0b46739caab84c0cf1aff21c3456de335afe395.tar.gz
Improve array overloading - support unset($foo["bar"])
Diffstat (limited to 'Zend/zend_object_handlers.c')
-rw-r--r--Zend/zend_object_handlers.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/Zend/zend_object_handlers.c b/Zend/zend_object_handlers.c
index 7405377aad..a5d913d409 100644
--- a/Zend/zend_object_handlers.c
+++ b/Zend/zend_object_handlers.c
@@ -452,6 +452,13 @@ static void zend_std_unset_property(zval *object, zval *member TSRMLS_DC)
}
}
+
+static void zend_std_unset_dimension(zval *object, zval *offset TSRMLS_DC)
+{
+ zend_error(E_ERROR, "Cannot use object as array");
+}
+
+
static void zend_std_call_user_call(INTERNAL_FUNCTION_PARAMETERS)
{
zval ***args;
@@ -875,6 +882,7 @@ zend_object_handlers std_object_handlers = {
NULL, /* set */
zend_std_has_property, /* has_property */
zend_std_unset_property, /* unset_property */
+ zend_std_unset_dimension, /* unset_dimension */
zend_std_get_properties, /* get_properties */
zend_std_get_method, /* get_method */
NULL, /* call_method */