ID:               25533
 User updated by:  spagmoid at yahoo dot com
 Reported By:      spagmoid at yahoo dot com
 Status:           Bogus
 Bug Type:         Feature/Change Request
 Operating System: *
 PHP Version:      *
 New Comment:

That is the very problem - it's quite obvious that noone there cares
about it.  No pride, like I said.

But it was obviously not illogical to the person who made it work with
'&'.  Why isn't he here?  That's what this project desperately needs -
code ownership.  When you divide programmers and bugfixers, you end up
with a bunch of people who really DO not care.


Previous Comments:
------------------------------------------------------------------------

[2003-09-16 14:25:27] [EMAIL PROTECTED]

It is a thing that is in our view a) illogical and b) we don't care
about. Not to your question. If we were to produce an error message we
could instead implement any behaviour with the same amount of work -
but to repeat - we don't care about. Thus it is undefined. And since it
is undefined we will not provide examples for what it does because that
would make it a documented feature we would have to take care about -
and just to repeat - we don't care about.

------------------------------------------------------------------------

[2003-09-16 14:10:20] brad at info-link dot net

In PHP:

"10 Small Pigs" | "10.2 Little Piggies"  = "10.smmm|t|mgsiggies"

Seems to follow the Perl way of doing things...  Each char in the first
string is bitwise or'd with the corresponding char in the second
string.

I didn't test bitwise-&, ^, etc, but I would expect them to act
similarly.

Why not just add examples to the manual instead of saying it's
undefined?  Why allow an operation that you can't depend on - just
throw a compiler error.

------------------------------------------------------------------------

[2003-09-16 13:47:37] [EMAIL PROTECTED]

And what, in your opinion, should be the result of
"10 Small Pigs" | "10.2 Little Piggies" ?

The point is that logical (bitwise) operations are inherently not
loosely typed. That's why the logical operators are (and will remain)
undefined on strings.
Use a cast at your own risk.


------------------------------------------------------------------------

[2003-09-16 13:39:18] spagmoid at yahoo dot com

Let's see a few other things straight from the manual since you're all
such EXPERTS on it:

$foo = "0";  // $foo is string (ASCII 48)
$foo += 2;   // $foo is now an integer (2)

$foo = 1 + "10.5";                // $foo is float (11.5)
$foo = 1 + "-1.3e3";              // $foo is float (-1299)
$foo = 1 + "bob-1.3e3";           // $foo is integer (1)
$foo = 1 + "bob3";                // $foo is integer (1)
$foo = 1 + "10 Small Pigs";       // $foo is integer (11)
$foo = 4 + "10.2 Little Piggies"; // $foo is float (14.2)
$foo = "10.0 pigs " + 1;          // $foo is float (11)
$foo = "10.0 pigs " + 1.0;        // $foo is float (11) 

Does that look "UNDEFINED" to you???  Huh?  Take that feature out and
watch how many current PHP apps fail.  You people have no sense of
QUALITY whatsoever.  NO PRIDE IN YOUR WORK.  NO PRIDE IN PHP.

------------------------------------------------------------------------

[2003-09-16 13:33:11] spagmoid at yahoo dot com

"The result of using other operators on strings is undefined."

RTFM??  That line isn't in the manual you moron!  You just made it up! 
Add it to the manual then, instead of improving your product.  What a
bunch of jackasses.

THIS is in the manual:

String conversion to numbers
When a string is evaluated as a numeric value, the resulting value and
type are determined as follows.

------------------------------------------------------------------------

The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
    http://bugs.php.net/25533

-- 
Edit this bug report at http://bugs.php.net/?id=25533&edit=1

Reply via email to