我有一个问题。我必须在php中编写一个部分但是只有这个Perl示例并且不了解确切的语法:
#showGetInfo(
# ['Customers/1001/Orders/1001'], #orders paths
# ['Comment'], #additional order attributes
# ['Street2'], #additional address attributes
# ['TransID','Weight'] #additional lineitem attributes
#);
在文件的另一部分中说:
sub showGetInfo {
my @Params = @_;
my $ahResults = $OrderService->getInfo(@Params)->result;
[...]
}
由于#只是一个评论,我需要将结构复制到php。
我认为有阵列创建,甚至可能是另一个阵列中的某些阵列,但我不明白特别是如何在这里构建阵列结构。你能帮助我并告诉我@Params在php中的变量是什么样的吗?
答案 0 :(得分:4)
子showGetInfo
获取作为参数传递的值的列表。那些最终在数组@_
中。这会分配给新的lexical数组@Params
。词汇表示,它仅适用于sub
。
接下来,在对象getInfo()
上调用方法$OrderService
。它传递的是与shoGetInfo
相同的参数。
在您展示的电话中,让我们看看这些参数:
['Customers/1001/Orders/1001'], #orders paths
这是array reference。它包含一个值:字符串'Customers/1001/Orders/1001'
。
['Comment'], #additional order attributes
再次,一个数组引用,其中包含一个字符串。
['Street2'], #additional address attributes
另一个。
['TransID','Weight'] #additional lineitem attributes
此数组引用包含两个条目。一个是字符串'TransID'
,另一个是'Weight'
。
要将其转换为PHP,您可以使用普通数组。不需要像PHP中的Perl那样的引用。
答案 1 :(得分:2)
你能帮助我并告诉我@Params在php中的变量是什么样的吗?
在php $Params
中就像perl,数组数组
array(
array('Customers/1001/Orders/1001'), #orders paths
array('Comment'), #additional order attributes
array('Street2'), #additional address attributes
array('TransID','Weight') #additional lineitem attributes
);