Of course, you can change any zval containers that you created within your function, but you mustn 't change any zval s that refer to Zend-internal data!
What we didn't say yet is that under the circumstances presented so far, you don't have write access to any zval containers designating function parameters that have been passed to you. Of course, you can change any zval containers that you created within your function, but you mustn't change any zval s that refer to Zend-internal data!