Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.php > #9393

Re: bug in is_numeric

From SwissCheese <swisscheese@cfl.rr.com>
Newsgroups comp.lang.php
Subject Re: bug in is_numeric
Date 2013-05-16 18:16 -0400
Organization cheese...
Message-ID <kn3ljs$cqo$1@dont-email.me> (permalink)
References (9 earlier) <kmutiq$ld3$1@dont-email.me> <kmvlet$o6o$1@dont-email.me> <9869380.OEKH2unXeN@PointedEars.de> <kn0jok$ebm$1@speranza.aioe.org> <1934679.jXLOkI38UW@PointedEars.de>

Show all headers | View raw


On 05/15/2013 02:49 PM, Thomas 'PointedEars' Lahn wrote:
> Christoph Becker wrote:
>
>> Thomas 'PointedEars' Lahn wrote:
>>> SwissCheese wrote:
>>>> norman@amd64x2:~$ php -a
>>>> Interactive shell
>>>>
>>>> php > $a = 'x';
>>>> php > if(is_numeric($a)) { echo 'okay'; } else { echo 'not okay'; }
>>>> not okay
>>>> php > $a = '11';
>>>> php > if(is_numeric($a)) { echo 'okay'; } else { echo 'not okay'; }
>>>> okay
>>>> php > $a = 'x11.11c';
>>>> php > if(is_numeric($a)) { echo 'okay'; } else { echo 'not okay'; }
>>>> not okay
>>>> php > $a = '0x1111c';
>>>> php > if(is_numeric($a)) { echo 'okay'; } else { echo 'not okay'; }
>>>> okay
>>>>
>>>>     As per http://us3.php.net/manual/en/function.is-numeric.php :
>>>>
>>>> "Hexadecimal (e.g. 0xf4c3b00c), Binary (e.g. 0b10100111001), Octal (e.g.
>>>> 0777) notation is allowed too but only without sign, decimal and
>>>> exponential part."
>>>
>>> But AISB, the implementation is contradicting the documentation (or vice-
>>> versa) because the a string argument containing the binary format causes
>>> is_numeric() to return FALSE in PHP 5.4.4 and PHP 5.4.14 (when according
>
> 5.4.15(-1; Debian), not .14
>
>>> to the above it should have returned TRUE).
>>
>> I can confirm issues with is_numeric() wrt. strings in binary notation
>> in PHP 5.4.7:
>>
>>    >>> is_numeric('0b1010')
>>    false
>>    >>> is_numeric(0b1010)
>>    true
>
> ACK.  However, it is unsurprising to me that the latter would return TRUE
> because there the literal is parsed into an “int” value *before* it is
> passed to is_numeric(), the equivalent of is_numeric(10).
>
> I would rather the former bug was an implementation bug instead of a
> documentation bug, because such a function should either work for all
> supported numeric representations of the programming language, or there
> should be a parameter specifying which representations are supported for the
> specific call [like ECMAScripts parseInt(number : String, base : Number) :
> Number].
>
>
> PointedEars
>

Thomas,

   Looking into the source (PHP) there is no code to support binary 
strings of the type '0b1010101'. The code for hexadecimal is there however.

php > $tests = 
array("42",1337,"0xf4c3b00c","x11.11c","0x11.11c","0x1111c","0b1010","0b10101",
"10101010101010101010101010101010101010101010101010101010101010101010101010101010101010",
"0700");
php > foreach ($tests as $a) { if(is_numeric($a)) { echo "$a is numeric 
".var_dump(is_numeric($a)).PHP_EOL; } else { echo "$a is not 
numeric".var_dump(is_numeric($a)).PHP_EOL; } }
bool(true)
42 is numeric
bool(true)
1337 is numeric
bool(true)
0xf4c3b00c is numeric
bool(false)
x11.11c is not numeric
bool(false)
0x11.11c is not numeric
bool(true)
0x1111c is numeric
bool(false)
0b1010 is not numeric
bool(false)
0b10101 is not numeric
bool(true)
10101010101010101010101010101010101010101010101010101010101010101010101010101010101010 
is numeric
bool(true)
0700 is numeric


-- 
Norman
Registered Linux user #461062
-Have you been to www.php.net yet?-

Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

bug in  is_numeric fred <email@address.com> - 2013-05-12 15:22 +0100
  Re: bug in  is_numeric Salvatore <sal@yojimbo.hack.invalid> - 2013-05-12 15:31 +0000
    Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-12 17:55 +0200
    Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-12 17:58 +0200
    Re: bug in  is_numeric Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2013-05-12 18:06 +0200
    Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-12 16:24 +0000
    Re: bug in  is_numeric fred <email@address.com> - 2013-05-12 18:41 +0100
      Re: bug in  is_numeric Erwin Moller <erwinmollerusenet@xs4all.nl> - 2013-05-13 13:50 +0200
        Re: bug in  is_numeric fred <email@address.com> - 2013-05-13 14:58 +0100
          Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-13 10:11 -0400
            Re: bug in  is_numeric fred <email@address.com> - 2013-05-13 15:15 +0100
              Re: bug in  is_numeric Erwin Moller <erwinmollerusenet@xs4all.nl> - 2013-05-13 17:29 +0200
              Re: bug in  is_numeric "J.O. Aho" <user@example.net> - 2013-05-13 19:55 +0200
              Re: bug in  is_numeric Richard Yates <richard@yatesguitar.com> - 2013-05-14 06:41 -0700
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-14 21:43 -0400
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-14 23:01 -0400
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-15 05:48 -0400
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-15 06:11 -0400
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 18:36 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-15 15:19 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-15 20:23 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-15 20:49 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-15 21:58 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-15 22:20 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-15 22:42 +0200
                Re: bug in  is_numeric Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2013-05-15 23:53 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-16 00:29 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-16 00:40 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-16 05:00 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 18:16 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-17 00:45 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 22:52 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-17 18:33 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-17 20:39 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-17 23:45 +0200
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-18 14:47 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-15 20:57 -0400
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-16 00:09 -0400
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-17 01:17 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-16 20:30 -0400
                Re: bug in  is_numeric Christoph Becker <cmbecker69@gmx.de> - 2013-05-18 14:51 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 10:07 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-18 11:56 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 14:32 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-18 22:24 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 17:01 -0400
                Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-18 21:58 +0000
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 19:21 -0400
                Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-19 02:22 +0000
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 22:41 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:28 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 09:42 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:42 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 14:39 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-21 01:01 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-21 05:59 -0400
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-19 07:49 +0100
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:31 -0500
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-19 12:39 +0100
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 09:43 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:52 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 14:42 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-21 01:03 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-21 06:00 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:45 -0500
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:27 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 09:45 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:37 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 14:43 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-21 00:59 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-21 06:02 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-18 17:08 -0500
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-18 23:58 +0100
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 19:22 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-18 17:11 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 19:23 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:35 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 09:46 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:23 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-19 14:44 -0400
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-21 00:54 -0500
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-21 06:03 -0400
                Re: bug in  is_numeric fred <email@address.com> - 2013-05-23 15:38 +0100
                Re: bug in  is_numeric Arno Welzel <usenet@arnowelzel.de> - 2013-06-01 17:36 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-06-01 14:54 -0400
                Re: bug in  is_numeric Arno Welzel <usenet@arnowelzel.de> - 2013-06-05 15:25 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-06-05 10:34 -0400
                Re: bug in  is_numeric Arno Welzel <usenet@arnowelzel.de> - 2013-06-05 17:02 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-06-05 12:30 -0400
                OT: What you say is not always what you mean (was: Re: bug in  is_numeric) Arno Welzel <usenet@arnowelzel.de> - 2013-06-05 20:20 +0200
                Re: OT: What you say is not always what you mean Jerry Stuckle <jstucklex@attglobal.net> - 2013-06-05 14:40 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-18 21:51 +0200
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-18 17:13 -0500
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-19 00:49 +0200
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 05:24 -0500
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-19 12:40 +0200
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-19 12:43 +0100
                Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-19 11:29 -0500
                Re: bug in  is_numeric Norman Peelman <npeelman@cfl.rr.com> - 2013-05-18 14:53 -0400
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 18:41 -0400
          Re: bug in  is_numeric Daniel Pitts <newsgroup.nospam@virtualinfinity.net> - 2013-05-13 08:35 -0700
          Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-13 20:26 +0000
      Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-13 20:15 +0000
    Re: bug in  is_numeric Robert Heller <heller@deepsoft.com> - 2013-05-12 13:03 -0500
  Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 18:03 +0200
    Re: bug in  is_numeric fred <email@address.com> - 2013-05-12 18:34 +0100
      Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 19:40 +0200
        Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-12 21:51 +0200
  Re: bug in  is_numeric "Sanders Kaufman" <bucky@kaufman.net> - 2013-05-12 11:47 -0500
    Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-12 18:56 +0200
    Re: bug in  is_numeric Thomas Mlynarczyk <thomas@mlynarczyk-webdesign.de> - 2013-05-12 19:05 +0200
      Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 19:38 +0200
        Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 19:46 +0200
        Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-12 14:11 -0400
          Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-12 20:39 +0200
            Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-12 16:51 -0400
              Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 01:27 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-12 20:35 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 11:07 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-13 09:02 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 16:57 +0200
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 17:10 +0200
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-13 13:52 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-13 20:28 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 18:28 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-17 00:33 +0200
                Re: bug in  is_numeric SwissCheese <swisscheese@cfl.rr.com> - 2013-05-16 22:34 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-18 10:28 +0200
                Re: bug in  is_numeric Norman Peelman <npeelman@cfl.rr.com> - 2013-05-18 08:00 -0400
                Re: bug in  is_numeric Luuk <luuk@invalid.lan> - 2013-05-18 14:18 +0200
                Re: bug in  is_numeric Tim Streater <timstreater@greenbee.net> - 2013-05-18 13:20 +0100
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 08:47 -0400
                Re: bug in  is_numeric The Natural Philosopher <tnp@invalid.invalid> - 2013-05-18 14:05 +0100
                Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-18 10:16 -0400
                Re: bug in  is_numeric Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2013-05-18 16:14 +0200
  Re: bug in  is_numeric Sandman <mr@sandman.net> - 2013-05-14 10:34 +0200
    Re: bug in  is_numeric fred <email@address.com> - 2013-05-14 14:47 +0100
      Re: bug in  is_numeric Denis McMahon <denismfmcmahon@gmail.com> - 2013-05-14 14:54 +0000
      Re: bug in  is_numeric Sandman <mr@sandman.net> - 2013-05-15 08:05 +0200
        Re: bug in  is_numeric Jerry Stuckle <jstucklex@attglobal.net> - 2013-05-15 06:27 -0400
          Re: bug in  is_numeric Erwin Moller <erwinmollerusenet@xs4all.nl> - 2013-05-15 13:11 +0200

csiph-web