note 40639 added to language.types.type-juggling

From: Date: Wed, 10 Mar 2004 12:02:17 +0000
Subject: note 40639 added to language.types.type-juggling
Groups: php.notes 
Request: Send a blank email to php-notes+get-66545@lists.php.net to get a copy of this message
For some reason the code-fix posted by philip_snyder at hotmail dot com [27-Feb-2004 02:08] didn't work for me neither with long_class_names nor with short_class_names. I'm using PHP v4.3.5 for Linux. Anyway here's what I wrote to solve the long_named_classes problem: <?php function typecast($old_object, $new_classname) { if(class_exists($new_classname)) { $old_serialized_object = serialize($old_object); $old_object_name_length = strlen(get_class($old_object)); $subtring_offset = $old_object_name_length + strlen($old_object_name_length) + 6; $new_serialized_object = 'O:' . strlen($new_classname) . ':"' . $new_classname . '":'; $new_serialized_object .= substr($old_serialized_object, $subtring_offset); return unserialize($new_serialized_object); } else { return false; } } ?> ---- Manual Page -- http://www.php.net/manual/en/language.types.type-juggling.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+40639 Delete -- http://master.php.net/manage/user-notes.php?action=delete+40639&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+40639&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#66545) next »