Re: Object to array conversion oddity

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Sat, 2006-09-23 at 11:46 -0400, Robert Cummings wrote:
> On Sat, 2006-09-23 at 16:04 +0100, Marcus Bointon wrote:
> > On 23 Sep 2006, at 15:51, Ray Hauge wrote:
> > 
> > > To me it looks like they append the name of the class to any private
> > > variables.  I would guess that it does this to make sure you know  
> > > what you're
> > > doing and using the private variable like that.  I'm  just guessing  
> > > at that
> > > point though.
> > 
> > Well, I realised that, but it's not very helpful as there's no  
> > separator between class name and variable name it's impossible to  
> > separate it correctly
> 
> <?php
> 
> class MyClass()
> {
>     public $field1 = '';
>     private $field2 = '';
> 
>     public function __sleep()
>     {
>         return array('field1', 'field2');
>     }
> }
> 
> $myClass = new Myclass;
> $prefix = get_class( $myClass );
> $prefixL = strlen( $prefix );
> 
> $myArray = (array)$myClass;
> foreach( $myArray as $name => $value )
> {
>     if( substr( $name, 0, 1 ) === '*' )
>     {
>         $foo = &$myArray[$name];
>         unset( $myArray[$name] );
>         $myArray[substr( $name, 1 )] = &$foo;
>     }
>     else
>     if( ereg( "^$prefix", '', $name ) )

That line should have been: if( ereg( "^$prefix", $name ) ). I was
originally doing a replace, but then I scrapped it :)

Cheers,
Rob.
-- 
.------------------------------------------------------------.
| InterJinn Application Framework - http://www.interjinn.com |
:------------------------------------------------------------:
| An application and templating framework for PHP. Boasting  |
| a powerful, scalable system for accessing system services  |
| such as forms, properties, sessions, and caches. InterJinn |
| also provides an extremely flexible architecture for       |
| creating re-usable components quickly and easily.          |
`------------------------------------------------------------'

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux