ID: 39954 User updated by: olafvdspek at gmail dot com Reported By: olafvdspek at gmail dot com -Status: Bogus +Status: Open Bug Type: Scripting Engine problem Operating System: Windows XP PHP Version: 5.2.0 New Comment:
What's the rationale behind that design? And when is it useful? Previous Comments: ------------------------------------------------------------------------ [2006-12-26 15:58:42] [EMAIL PROTECTED] Yes, it does not convert strings to numbers and this is by design. It actualy runs the "bitwise not" operator on each character of the string. ------------------------------------------------------------------------ [2006-12-26 15:39:45] olafvdspek at gmail dot com Description: ------------ The ~ operator doesn't appear to convert a string to an integer first, like most other operators do. This produces unexpected results of course. Reproduce code: --------------- $b = '0'; $b = ~$b; printf('%s - %s<br>', $b, ord($b)); $b = 0; $b = ~$b; printf('%s - %s<br>', $b, ord($b)); Expected result: ---------------- -1 - 45 -1 - 45 Actual result: -------------- Ï - 207 -1 - 45 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=39954&edit=1