ID: 25533 Comment by: brad at info-link dot net Reported By: spagmoid at yahoo dot com Status: Bogus Bug Type: Feature/Change Request Operating System: WinXP PHP Version: 4.3.3 New Comment:
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. Previous Comments: ------------------------------------------------------------------------ [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. ------------------------------------------------------------------------ [2003-09-16 13:25:49] [EMAIL PROTECTED] Here's your statement: "PHP has two string operators ('.' and '.=', RTFM). The result of using other operators on strings is undefined." ------------------------------------------------------------------------ [2003-09-16 13:15:16] [EMAIL PROTECTED] Not a bug -> Bogus DON'T TOUCH THE STATUS! ------------------------------------------------------------------------ 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