Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:8474 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 99660 invoked by uid 1010); 10 Mar 2004 17:07:59 -0000 Delivered-To: ezmlm-scan-internals@lists.php.net Delivered-To: ezmlm-internals@lists.php.net Received: (qmail 99636 invoked from network); 10 Mar 2004 17:07:59 -0000 Received: from unknown (HELO blobule.suds) (66.11.170.154) by pb1.pair.com with SMTP; 10 Mar 2004 17:07:59 -0000 Received: by blobule.suds (Postfix, from userid 501) id AF3552F717; Wed, 10 Mar 2004 12:08:00 -0500 (EST) To: Derick Rethans Cc: internals@lists.php.net In-Reply-To: References: <1078932240.5573.132.camel@blobule.suds> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.8-3mdk Date: 10 Mar 2004 12:08:00 -0500 Message-ID: <1078938480.8502.6.camel@blobule.suds> Mime-Version: 1.0 Subject: Re: [PHP-DEV] Question about internal workings of references/variables. From: robert@interjinn.com (Robert Cummings) On Wed, 2004-03-10 at 10:30, Derick Rethans wrote: > On Wed, 10 Mar 2004, Robert Cummings wrote: > > > Hi Internals, > > > > I'd like to confirm/refute some knowledge I think I have of the PHP > > internal workings with respect to variables and references. I believe > > that when a variable is assigned the value of another variable an > > internal reference is created and some bit is used to keep track of > > whether the value should be copied when an attempt is made to change > > either the original variable or the newly assigned variable (maybe this > > isn't the case for integers or floats since the performance would be > > similar). Can anyone confirm or elaborate further? > > yes, that is true and called "copy-on-write". It's done for all types of > variables though. > > > Also I think I remember hearing once upon a time that creating a > > reference in PHP script is more work than creating a copy when the copy > > won't be altered? Can this be confirmed also? > > Never tried that myself, but I believe it to be true. > > > > Last but not least, do objects work under the same principles? > > yes, in php 4 they do. in php 5 it is true for "object-handles" and not > objects, but that shouldn't be of any concern. Thanks Derick, now I'll be sure to not misinform others :) 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. | `------------------------------------------------------------'