Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #9393
| 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> |
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
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