2010-11-11 79 views
1

有没有可用于将perl中的关联数组转换为php中的关联数组的php库?如果没有,有没有推荐的方法来做到这一点?常用表达 ?一堆爆炸和内爆电话?将perl关联数组转换为PHP数组

我想如果你有Perl去从

my %arrayname = (
    key1 => "Value1", 
    key2 => "Value2", 
    key3 => "Value3", 
... 

$arrayname = array(
     "key1" => "Value1", 
     "key2" => "Value2", 
     "key3" => "Value3", 
+0

我想你的意思是'$ arrayname = array(...)'。另外,你基本上试图将Perl源代码解析到PHP中? – deceze 2010-11-11 12:29:52

+0

很好,谢谢..现在就修正 – sjobe 2010-11-11 12:33:12

回答

4

您的服务器上,可以使用:

print 'Array('; 
while (($key, $val) = each(%arrayname)) { 
    print "'$key' => '$val',"; 
} 
print ');'; 

您还可以看看PECL Perl package,这个库在PHP中集成了一个Perl解析器。

您可以使用an online Perl interpreter以及示例代码和工作(最后只有一个逗号)。

我创建了一个几乎可用的正则表达式。你可以尝试,但它依赖于Perl数组的结构:

preg_match_all(#\%(.+)\s=|\n(.+).*#); 

示例数据:

my %arrayname = (
    key1 => "Value1", 
    key2 => "Value2", 
    key3 => "Value3" 
) 

您可以用Regular Expression Test Tool测试。

+0

+1肯定赞同用外语来编写源代码比解析外文源代码更容易。 – 2010-11-11 12:32:28

+0

在这种情况下,Perl不是一个选项,我从PHP解析其他人的perl配置文件。 – sjobe 2010-11-11 12:35:36

+0

@sjobe:当然不会被卡住在微软的链条上,不是吗? – tchrist 2010-11-11 13:02:17