|
Posted by Jerry Stuckle on 09/24/07 22:59
Shelly wrote:
> "gosha bine" <stereofrog@gmail.com> wrote in message
> news:46f823bf$0$31121$6e1ede2f@read.cnntp.org...
>> Shelly wrote:
>>> "Steve" <no.one@example.com> wrote in message
>>> news:r6VJi.36$Nr6.32@newsfe05.lga...
>>>> "Joe" <joe@faceh.com> wrote in message
>>>> news:1190663828.772978.15800@22g2000hsm.googlegroups.com...
>>>>> I am just starting to use Object Oriented PHP coding, and I am seeing
>>>>> quite often the following (this example taken from a wiki):
>>>>>
>>>>> $wakka =& new Wakka($wakkaConfig);
>>>>>
>>>>> What exactly is the =&, and why is it different from = ?
>>>> well, better syntax would have helped. it should read ' $something =
>>>> &$variable'. in this context, & means 'a reference to the memory
>>>> location where the value is stored'. without the &, it means 'a copy of
>>>> the value of the variable'.
>>>>
>>>> clear as mud? rather than explain memory, let me have you do this:
>>>>
>>>> $variable = 'hello';
>>>> $reference = &$variable;
>>>> $variable = 'world';
>>>> echo '<pre>' . print_r($reference, true) . '</pre>';
>>>> $reference = 'good-bye';
>>>> echo '<pre>' . print_r($variable, true) . '</pre>';
>>>>
>>>> unset($variable);
>>>> unset($reference);
>>>>
>>>> $variable = 'hello';
>>>> $reference = $variable;
>>>> $variable = 'world';
>>>> echo '<pre>' . print_r($reference, true) . '</pre>';
>>>> $reference = 'good-bye';
>>>> echo '<pre>' . print_r($variable, true) . '</pre>';
>>>>
>>>> the first example, BY REFERENCE, means that both $variable and
>>>> $reference point to the same memory location. changing one but using the
>>>> other makes no difference - using either will have the same effect.
>>>>
>>>> the second, BY VALUE, means that each variable points to two different
>>>> locations in memory. the only time they will be equal is when setting
>>>> them so. once you modify one of them, you have done so idependently of
>>>> the other - changing one has no effect on the other.
>>>>
>>>> hope that makes more sense.
>>> That was probably the single most unique new concept (pointers and
>>> address-of) I had conquer when (os so many years ago) I learned C, coming
>>> from a Fortran background as I did.
>>>
>>> Shelly
>> php references have nothing to do with C-alike pointers.
>>
>> Please read the chapter called "references are not pointers" in the
>> manual.
>>
>
> Yeah, yeah. We still are talking about address-of and not value-of. So
> there is no explicit pointer variable as there is in C. So what?
>
> Shelly
>
>
No, it's not address-of, either in PHP or C++. It's more "alias-of".
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================
[Back to original message]
|