FUDforum
Fast Uncompromising Discussions. FUDforum will get your users talking.

Home » Imported messages » comp.lang.php » A little tip
Show: Today's Messages :: Polls :: Message Navigator
Return to the default flat view Create a new topic Submit Reply
Re: A little tip [message #177447 is a reply to message #177446] Fri, 30 March 2012 18:18 Go to previous messageGo to previous message
Shelly[1] is currently offline  Shelly[1]
Messages: 16
Registered: March 2012
Karma:
Junior Member
On 3/30/2012 1:20 PM, Jerry Stuckle wrote:
> On 3/30/2012 1:02 PM, Shelly wrote:
>> Here is something I jist came across, so I am passing it on:
>> ==========
>> $val= TRUE;
>> $val &= TRUE;
>> print ($val === TRUE) ? "Triple is true\n" : "Triple is false\n";
>> print ($val == TRUE) ? "Double is true\n" : "Double is false\n";
>>
>> Results in:
>> Triple is false
>> Double is true
>> ==========
>>
>> Who designed that? It is totally counter-intuitive.
>>
>
> Yes, just another problem with PHP. After the second assignment, $val is
> actually a reference to TRUE. However, a variable should not be able to
> reference a constant. For instance, what would the following do?
>
> $val &= TRUE;
> $val = 3;
>
> Are we setting TRUE to 3 (that's what a reference should do, after all).
>
> This is why other languages don't allow references to constants.

Huh? How is it a reference? I wrote

$val = TRUE;

That sets TRUE as the value contained in the location specified by the
variable $val.

Then I wrote

$val &= TRUE;

which is identical to

$val = $val && TRUE;

isn't it, which should put into the location of $val the resulting value
of the logical operation of TRUE AND TRUE -- which SHOULD be TRUE.
Instead, it is something other than FALSE or ZERO, but not === to TRUE.

Your answer seems to be as if I had written

$val = &TRUE;
$val = 3;

Am I missing something here?

--
Shelly
[Message index]
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: session variable doesn't appear in side bar
Next Topic: Doubt regarding an array of references...
Goto Forum:
  

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ]

Current Time: Tue Nov 26 17:13:22 GMT 2024

Total time taken to generate the page: 0.04447 seconds