note 40282 added to language.types.type-juggling

From: Date: Fri, 27 Feb 2004 12:08:06 +0000
Subject: note 40282 added to language.types.type-juggling
Groups: php.notes 
Request: Send a blank email to php-notes+get-65877@lists.php.net to get a copy of this message
Re: the typecasting between classes post below... fantastic, but slightly flawed. Any class name longer than 9 characters becomes a problem... SO here's a simple fix: function typecast($old_object, $new_classname) { if(class_exists($new_classname)) { // Example serialized object segment // O:5:"field":9:{s:5:... <--- Class: Field $old_serialized_prefix = "O:".strlen(get_class($old_object)); $old_serialized_prefix .= ":\"".get_class($old_object)."\":"; $old_serialized_object = serialize($old_object); $new_serialized_object = 'O:'.strlen($new_classname).':"'.$new_classname . '":'; $new_serialized_object .= substr($old_serialized_object,strlen($old_serialized_prefix)); return unserialize($new_serialized_object); } else return false; } Thanks for the previous code. Set me in the right direction to solving my typecasting problem. ;) ---- Manual Page -- http://www.php.net/manual/en/language.types.type-juggling.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+40282 Delete -- http://master.php.net/manage/user-notes.php?action=delete+40282&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+40282&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#65877) next »