在Perl中从PHP访问非绝缘数组

时间:2016-04-19 11:39:39

标签: php perl serialization

我想使用来自vbulletin的序列化touserarray的序列化代码的数据。但我无法访问数组的单个值。

这是我的代码:

#!/usr/bin/perl
use Data::Dumper;
use PHP::Serialization qw(serialize unserialize);

$test = 'a:1:{s:2:"cc";a:1:{i:20909;s:4:"test";}}';
print "$test\n";
$test = unserialize($test);
print "$test->{cc}->{20909}\n";
print Dumper($test);

# Output
#   a:1:{s:2:"cc";a:1:{i:20909;s:4:"test";}}
#   test
#   $VAR1 = {
#             'cc' => {
#                       '20909' => 'test'
#                     }
#           };

我只能访问值" test"而不是价值" cc"或" 20909"。我的问题在哪里 - 请帮助。 THX

我想有这样的事情:

<?php
$test = 'a:1:{s:2:"cc";a:1:{i:20909;s:4:"test";}}';

$a = unserialize($test);

while (@list($key,$val) = each($a['cc'])) { 
        print "username = $val\n";
        print "userid = $key\n"; } 
?>

输出:

用户名=测试

userid = 20909

0 个答案:

没有答案