【发布时间】:2012-06-12 18:28:27
【问题描述】:
尝试将 perl 脚本转换为 php。
在 perl 中我有一个这样的哈希
my %SPEC=(
odmiles => ['OD Miles','Mileage','odmiles:ecmmiles','num'],
ecmmiles => ['ECM Miles',0,'','num',' ECM'],
cdl => ['CDL','CDL']);
我可以像这样访问数据:
$SPEC{ecm}[3] # output = num
由于 perl 中的哈希不按顺序运行,我将做一个简单的数组
@ORD=('odmiles','ecmmiles','cdl');
然后循环
foreach my $S (@ORD) {
print $S." = ".$SPEC{$S}[0]."<br />";
}
我可以用 php 做类似的事情,但在我的哈希中访问超过 [0] 的元素时遇到问题。
【问题讨论】:
-
我对“从 X 翻译到 Y”的典型回应:hyperpolyglot.org/scripting;这个链接没什么特别的,可能有几个这样的比较表
-
我不是要求翻译我的代码。我在问如何使用 php 访问哈希中第一个元素之后的元素。即上面示例中的里程,位置[1]
-
这就是我所拥有的 $array = array("odmiles" => "OD Miles"); $array["odmiles"];
-
@chrisrth 或者
$SPEC = array("odmiles" => array("OD Miles", "Mileage", ...));不确定这是否是有效的 PHP。 -
@chrisrth 我不确定我对你的理解是否正确.. 你知道
$SPEC{$S}[0]给出了第一个元素,而你不知道$SPEC{$S}[1]给出了第二个元素,等等?