#34256 [NEW]: wddx_deserialize losing arrays
| From: | mpamphile at hotmail dot com | Date: | Thu, 25 Aug 2005 17:04:06 +0000 |
| Subject: | #34256 [NEW]: wddx_deserialize losing arrays | ||
| Groups: | php.bugs | ||
| Request: | Send a blank email to php-bugs+get-83990@lists.php.net to get a copy of this message | ||
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