Fwd: Boolean type forced on string assignment inside if statement

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

 



I received the message below addressed only to me, but I believe the
group could benefit.  It looks like the single pipe is a bitwise
operator so you will get an integer as a result (and probably other
weird things to discover when using it on non-numbers).

http://php.net/manual/en/language.operators.bitwise.php


---------- Forwarded message ----------
From: Volmar Machado <qi.volmar@xxxxxxxxx>
Date: 3 January 2013 12:42
Subject: Re:  Boolean type forced on string assignment inside if statement
To: Marc Guay <marc.guay@xxxxxxxxx>


My results in a simple test:

<?php
 $a = true;
 $b = false; // either null, or 0
 echo ('($a | $b))' . ($a | $b) . '<br>'); //1
 echo ('($a || $b))' . ($a || $b) . '<br>'); //1
 echo ('($b | $a)' . ($b | $a) . '<br>'); //1
 echo ('($b || $a)' . ($b || $a) . '<br>'); //1
 echo ('($a | $a)'. ($a | $a) . '<br>'); //1
 echo ('($a || $a)' . ($a || $a) . '<br>'); //1
 echo ('($b | $b)' . ($b | $b) . '<br>'); //0
 echo ('($b || $b)' . ($b || $b) . '<br>'); //false(outputs nothing)
?>

2013/1/3 Marc Guay <marc.guay@xxxxxxxxx>:
>> Now, I am not sure as to where that would mean anything. Can anyone provide an example where using a single pipe would produce different results than using a double pipe?
>
> If PHP had "Eager operators" (thanks Wikipedia), then your first
> example would have different output
>
> if (($a = 'foo') | ($b = 'bar'))
>         {
>         echo "$a <br > $b";
>         }
> else
>         {
>         echo 'Neither are populated';
>         }
>
> Would spit out:
> foo
> bar
>
> rather than just
> foo
>
> No?
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>

-- 
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