#40730 [NEW]: Array sequence corrupted when elements are added with double digit indexes

Ask a Question related to PHP Bugs, Design and Development.

  1. #1

    Default #40730 [NEW]: Array sequence corrupted when elements are added with double digit indexes

    From: slawo_c at o2 dot pl
    Operating system: Mac OS X 10.4.8
    PHP version: 5.2.1
    PHP Bug Type: Arrays related
    Bug description: Array sequence corrupted when elements are added with double digit indexes

    Description:
    ------------
    When I create an array using the following code the array is corrupted for
    some reason, as if the double digits were misinterpreted or misread at some
    point. From my experience it happens specifically on index 08 and 09 (which
    are set to 0) Even if the order is different.
    The consequence is that data with index 08 will be overwritten by 09 or 09
    will be overwritten by 08 if 08 is set after 09.

    Example code:




    Reproduce code:
    ---------------
    $list = array();
    $list[01]='a';
    $list[02]='b';
    $list[03]='c';
    $list[04]='d';
    $list[05]='da';
    $list[06]='db';
    $list[07]='dc';
    $list[08]='e';
    $list[09]='ea';
    $list[10]='eb';
    $list[11]='ec';
    $list[12]='f';

    echo '<pre>';
    var_dump($list);
    echo '</pre>';

    Expected result:
    ----------------
    array(11) {
    [1]=>
    string(1) "a"
    [2]=>
    string(1) "b"
    [3]=>
    string(1) "c"
    [4]=>
    string(1) "d"
    [5]=>
    string(2) "da"
    [6]=>
    string(2) "db"
    [7]=>
    string(2) "dc"
    [8]=>
    string(2) "e"
    [9]=>
    string(2) "ea"
    [10]=>
    string(2) "eb"
    [11]=>
    string(2) "ec"
    [12]=>
    string(1) "f"
    }

    Actual result:
    --------------
    array(11) {
    [1]=>
    string(1) "a"
    [2]=>
    string(1) "b"
    [3]=>
    string(1) "c"
    [4]=>
    string(1) "d"
    [5]=>
    string(2) "da"
    [6]=>
    string(2) "db"
    [7]=>
    string(2) "dc"
    [0]=>
    string(2) "ea" //<- Here 09 overwrote 08 which was also set to 0 by the
    parser/interpreter?
    [10]=>
    string(2) "eb"
    [11]=>
    string(2) "ec"
    [12]=>
    string(1) "f"
    }

    --
    Edit bug report at [url]http://bugs.php.net/?id=40730&edit=1[/url]
    --
    Try a CVS snapshot (PHP 4.4): [url]http://bugs.php.net/fix.php?id=40730&r=trysnapshot44[/url]
    Try a CVS snapshot (PHP 5.2): [url]http://bugs.php.net/fix.php?id=40730&r=trysnapshot52[/url]
    Try a CVS snapshot (PHP 6.0): [url]http://bugs.php.net/fix.php?id=40730&r=trysnapshot60[/url]
    Fixed in CVS: [url]http://bugs.php.net/fix.php?id=40730&r=fixedcvs[/url]
    Fixed in release: [url]http://bugs.php.net/fix.php?id=40730&r=alreadyfixed[/url]
    Need backtrace: [url]http://bugs.php.net/fix.php?id=40730&r=needtrace[/url]
    Need Reproduce Script: [url]http://bugs.php.net/fix.php?id=40730&r=needscript[/url]
    Try newer version: [url]http://bugs.php.net/fix.php?id=40730&r=oldversion[/url]
    Not developer issue: [url]http://bugs.php.net/fix.php?id=40730&r=support[/url]
    Expected behavior: [url]http://bugs.php.net/fix.php?id=40730&r=notwrong[/url]
    Not enough info: [url]http://bugs.php.net/fix.php?id=40730&r=notenoughinfo[/url]
    Submitted twice: [url]http://bugs.php.net/fix.php?id=40730&r=submittedtwice[/url]
    register_globals: [url]http://bugs.php.net/fix.php?id=40730&r=globals[/url]
    PHP 3 support discontinued: [url]http://bugs.php.net/fix.php?id=40730&r=php3[/url]
    Daylight Savings: [url]http://bugs.php.net/fix.php?id=40730&r=dst[/url]
    IIS Stability: [url]http://bugs.php.net/fix.php?id=40730&r=isapi[/url]
    Install GNU Sed: [url]http://bugs.php.net/fix.php?id=40730&r=gnused[/url]
    Floating point limitations: [url]http://bugs.php.net/fix.php?id=40730&r=float[/url]
    No Zend Extensions: [url]http://bugs.php.net/fix.php?id=40730&r=nozend[/url]
    MySQL Configuration Error: [url]http://bugs.php.net/fix.php?id=40730&r=mysqlcfg[/url]
    slawo_c at o2 dot pl Guest

  2. Similar Questions and Discussions

    1. array of elements
      I have an array of keywords that I need to generate. I have 2 separate input files. The first one contains the defaults. The second input file...
    2. Number of elements in an array
      I hope the subject isn't too misleading... I am trying to find the number of elements of each "data" array in the following: -- use...
    3. printing elements of an array
      > > Hello Howdy my @favs = split(/\s+/, $fav); print @favs;
    4. Fw: printing elements of an array
      ----- Original Message ----- From: "Jolok" <joloxbox@attbi.com> Newsgroups: perl.beginners Sent: Thursday, August 28, 2003 11:24 AM Subject:...
    5. Accessing elements in array ref of array references
      Currently I'm comparing the first value of each of the array references (which are stored in an array reference $ref_ref) as follows: ...
  3. #2

    Default #40730 [Opn->Bgs]: Array sequence corrupted when elements are added with double digit indexes

    ID: 40730
    Updated by: [email]derick@php.net[/email]
    Reported By: slawo_c at o2 dot pl
    -Status: Open
    +Status: Bogus
    Bug Type: Arrays related
    Operating System: Mac OS X 10.4.8
    PHP Version: 5.2.1
    New Comment:

    Sorry, but your problem does not imply a bug in PHP itself. For a
    list of more appropriate places to ask for help using PHP, please
    visit [url]http://www.php.net/support.php[/url] as this bug system is not the
    appropriate forum for asking support questions. Due to the volume
    of reports we can not explain in detail here why your report is not
    a bug. The support channels will be able to provide an explanation
    for you.

    Thank you for your interest in PHP.

    ..


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

    [2007-03-05 14:55:30] slawo_c at o2 dot pl

    Description:
    ------------
    When I create an array using the following code the array is corrupted
    for some reason, as if the double digits were misinterpreted or misread
    at some point. From my experience it happens specifically on index 08
    and 09 (which are set to 0) Even if the order is different.
    The consequence is that data with index 08 will be overwritten by 09 or
    09 will be overwritten by 08 if 08 is set after 09.

    Example code:




    Reproduce code:
    ---------------
    $list = array();
    $list[01]='a';
    $list[02]='b';
    $list[03]='c';
    $list[04]='d';
    $list[05]='da';
    $list[06]='db';
    $list[07]='dc';
    $list[08]='e';
    $list[09]='ea';
    $list[10]='eb';
    $list[11]='ec';
    $list[12]='f';

    echo '<pre>';
    var_dump($list);
    echo '</pre>';

    Expected result:
    ----------------
    array(11) {
    [1]=>
    string(1) "a"
    [2]=>
    string(1) "b"
    [3]=>
    string(1) "c"
    [4]=>
    string(1) "d"
    [5]=>
    string(2) "da"
    [6]=>
    string(2) "db"
    [7]=>
    string(2) "dc"
    [8]=>
    string(2) "e"
    [9]=>
    string(2) "ea"
    [10]=>
    string(2) "eb"
    [11]=>
    string(2) "ec"
    [12]=>
    string(1) "f"
    }

    Actual result:
    --------------
    array(11) {
    [1]=>
    string(1) "a"
    [2]=>
    string(1) "b"
    [3]=>
    string(1) "c"
    [4]=>
    string(1) "d"
    [5]=>
    string(2) "da"
    [6]=>
    string(2) "db"
    [7]=>
    string(2) "dc"
    [0]=>
    string(2) "ea" //<- Here 09 overwrote 08 which was also set to 0 by
    the parser/interpreter?
    [10]=>
    string(2) "eb"
    [11]=>
    string(2) "ec"
    [12]=>
    string(1) "f"
    }


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


    --
    Edit this bug report at [url]http://bugs.php.net/?id=40730&edit=1[/url]
    derick@php.net Guest

Posting Permissions

  • You may not post new threads
  • You may post replies
  • You may not post attachments
  • You may not edit your posts

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139