将Perl引用转换为OO PHP?

时间:2011-12-01 23:04:50

标签: php perl oop

因此,我将旧的开发人员Perl脚本翻译成了另一个奇怪的地方 面向对象的PHP,这个小小的Perl引用语句让我抓狂了 很长一段时间,但我无法通过谷歌或朋友解决这个问题。

我已经尽力写出我认为的意思,但不确定是不是 对。有人能告诉我,如果我弄明白或者我是否已经离开?提前谢谢。

perl片段是:

!$state->{$msg->{hash}}

我认为这意味着OO PHP中的其中两个?

!$this->state[$this->msg['hash']] //or?
$this->state != $this->msg['hash']

我甚至在球场吗?

UPDATE 我被告知这是一个有参考,而不是数组参考,但我不确定,因为$ msg-> {gray},$ msg-> {hash},$ msg-> {domain}等都存在于同一个子?

1 个答案:

答案 0 :(得分:1)

实际上,第二眼看来,$state是某种哈希引用(虽然它也可能是某个类的bless ed对象),$state->{$msg->{hash}}是值%$state对应于键$msg->{hash}(其中,%$msg的值对应于键"hash")。

因此,假设$state$msg只是哈希引用(而不是特定对象),它们实际上对应于PHP中的数组(关于PHP的一个非常愚蠢的事情就是没有数组和关联数组之间的差异。)

因此,在PHP中它将是!$state[$msg['hash']]