【问题标题】:What does this mean in Perl?这在 Perl 中意味着什么?
【发布时间】:2015-08-18 20:52:08
【问题描述】:

我正在将一些 Perl 代码转换为 php,我偶然发现了一些东西,我不确定它是什么。

if(!$continenttxt_cached{$savedcontinentid.'_'.$savedcountrygroupid})

{} 括号在这里有什么作用?这是以这种方式访问​​的标准数组元素吗?因为我只转换了相当大的代码的一小部分,所以我找不到$continenttxt_cached 是如何定义的,所以我只能假设这是一个数组。 {} 在 Perl 中是否用于其他用途?

【问题讨论】:

  • 它是一个哈希值,%continenttxt_cached 必须在你的代码中定义
  • 不一定——如果您不使用use strict;use warnings;,则在您访问它并在其中设置值时会隐式创建一个哈希值。 (这是不好的风格,但可以做到)

标签: perl


【解决方案1】:

{} 在此上下文中表示哈希访问器 - hashes 是键值对。

因此,您有一个名为 %continenttxt_cached 的哈希,您试图从中提取与 $savedcontinentid.'_'.$savedcountrygroupid 关联的值

请参阅perldata 了解更多信息。

【讨论】:

  • 所以这基本上就像 php 中的关联数组?
  • @Adam Baranyai,是的,哈希是一种关联数组。不知道PHP用的是什么类型的关联数组,所以性能特点可能不一样。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-29
  • 2016-06-28
  • 2019-08-07
  • 2010-10-21
  • 2016-05-18
  • 1970-01-01
相关资源
最近更新 更多