From: mpamphile at hotmail dot com Operating system: win 2000 professional PHP version: 4.4.0 PHP Bug Type: XML related Bug description: wddx_deserialize losing arrays
Description: ------------ wddx_deserialize is only returning the last array in a wddx structure with multiple arrays. Reproduce code: --------------- $servercontents = "<wddxPacket version='1.0'><header><comment></comment></header><data><struct><var name='payment_id'><string>23</string></var><var name='member_id'><string>4</string></var><var name='product_id'><string>5</string></var><var name='begin_date'><string>2005-08-23</string></var><var name='expire_date'><string>2007-08-21</string></var><var name='paysys_id'><string>clickbank</string></var><var name='receipt_id'><string>C7L836H8</string></var><var name='amount'><string>79.95</string></var><var name='completed'><string>1</string></var><var name='remote_addr'><string>209.94.216.188</string></var><var name='data'><array length='2'><struct><var name='product_id'><string>5</string></var><var name='paysys_id'><string>clickbank</string></var><var name='coupon'><string></string></var><var name='action'><string>renew</string></var></struct><struct><var name='seed'><string>23</string></var><var name='cbpop'><string>27RG7BJQ</string></var><var name='cbreceipt'><string>C7L836H8</string></var></struct></array></var><var name='time'><string>20050821173210</string></var><var name='aff_id'><string>0</string></var><var name='payer_id'><string></string></var><var name='coupon_id'><string>0</string></var><var name='tm_added'><string>2005-08-21 17:31:33</string></var><var name='tm_completed'><string>2005-08-21 17:32:10</string></var><var name='payment_id'><string>22</string></var><var name='member_id'><string>4</string></var><var name='product_id'><string>4</string></var><var name='begin_date'><string>2005-08-23</string></var><var name='expire_date'><string>2006-08-21</string></var><var name='paysys_id'><string>clickbank</string></var><var name='receipt_id'><string>CDSDHXG8</string></var><var name='amount'><string>39.95</string></var><var name='completed'><string>1</string></var><var name='remote_addr'><string>209.94.216.188</string></var><var name='data'><array length='2'><struct><var name='product_id'><string>4</string></var><var name='paysys_id'><string>clickbank</string></var><var name='coupon'><string></string></var><var name='action'><string>renew</string></var></struct><struct><var name='seed'><string>22</string></var><var name='cbpop'><string>M2C6CHPT</string></var><var name='cbreceipt'><string>CDSDHXG8</string></var></struct></array></var><var name='time'><string>20050821152456</string></var><var name='aff_id'><string>0</string></var><var name='payer_id'><string></string></var><var name='coupon_id'><string>0</string></var><var name='tm_added'><string>2005-08-21 15:21:11</string></var><var name='tm_completed'><string>2005-08-21 15:24:56</string></var><var name='payment_id'><string>18</string></var><var name='member_id'><string>4</string></var><var name='product_id'><string>1</string></var><var name='begin_date'><string>2005-08-23</string></var><var name='expire_date'><string>2005-08-21</string></var><var name='paysys_id'><string>clickbank</string></var><var name='receipt_id'><string>manual</string></var><var name='amount'><string>0.00</string></var><var name='completed'><string>1</string></var><var name='remote_addr'><string></string></var><var name='data'><array length='1'><boolean value='false'/></array></var><var name='time'><string>20050821144942</string></var><var name='aff_id'><string>0</string></var><var name='payer_id'><string></string></var><var name='coupon_id'><string>0</string></var><var name='tm_added'><string>2005-08-21 14:49:42</string></var><var name='tm_completed'><string>2005-08-21 14:49:42</string></var></struct></data></wddxPacket>"; $xmlvalues = wddx_deserialize("$servercontents"); if(!empty($xmlvalues)) { foreach ($xmlvalues as $key => $data) { echo "$key => $data<br>"; } } Expected result: ---------------- There are three arrays inside of the wddx structure, payment_id => 23 member_id => 4 product_id => 5 begin_date => 2005-08-25 expire_date => 2007-08-21 paysys_id => clickbank receipt_id => C7L836H8 amount => 79.95 completed => 1 remote_addr => 209.94.216.188 data => Array time => 20050821173210 aff_id => 0 payer_id => coupon_id => 0 tm_added => 2005-08-21 17:31:33 tm_completed => 2005-08-21 17:32:10 -------------------------------------------------------------------------------- payment_id => 22 member_id => 4 product_id => 4 begin_date => 2005-08-25 expire_date => 2006-08-21 paysys_id => clickbank receipt_id => CDSDHXG8 amount => 39.95 completed => 1 remote_addr => 209.94.216.188 data => Array time => 20050821152456 aff_id => 0 payer_id => coupon_id => 0 tm_added => 2005-08-21 15:21:11 tm_completed => 2005-08-21 15:24:56 -------------------------------------------------------------------------------- payment_id => 18 member_id => 4 product_id => 1 begin_date => 2005-08-25 expire_date => 2005-08-21 paysys_id => clickbank receipt_id => manual amount => 0.00 completed => 1 remote_addr => data => Array time => 20050821144942 aff_id => 0 payer_id => coupon_id => 0 tm_added => 2005-08-21 14:49:42 tm_completed => 2005-08-21 14:49:42 -------------------------------------------------------------------------------- Actual result: -------------- It only reproduces the last one payment_id => 18 member_id => 4 product_id => 1 begin_date => 2005-08-25 expire_date => 2005-08-21 paysys_id => clickbank receipt_id => manual amount => 0.00 completed => 1 remote_addr => data => Array time => 20050821144942 aff_id => 0 payer_id => coupon_id => 0 tm_added => 2005-08-21 14:49:42 tm_completed => 2005-08-21 14:49:42 -- Edit bug report at http://bugs.php.net/?id=34256&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=34256&r=trysnapshot4 Try a CVS snapshot (php5.0): http://bugs.php.net/fix.php?id=34256&r=trysnapshot50 Try a CVS snapshot (php5.1): http://bugs.php.net/fix.php?id=34256&r=trysnapshot51 Fixed in CVS: http://bugs.php.net/fix.php?id=34256&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=34256&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=34256&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=34256&r=needscript Try newer version: http://bugs.php.net/fix.php?id=34256&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=34256&r=support Expected behavior: http://bugs.php.net/fix.php?id=34256&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=34256&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=34256&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=34256&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=34256&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=34256&r=dst IIS Stability: http://bugs.php.net/fix.php?id=34256&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=34256&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=34256&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=34256&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=34256&r=mysqlcfg