to change parameters however write access is required zend deals with this situation in a special way whenever a parameter to a function is passed by reference it performs automatic zval separation this means that whenever youre calling a function like this in php zend will automatically ensure that $ parameter is being passed as an isolated value rendering it to a writesafe state 