文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>到底是数组还是哈希?

到底是数组还是哈希?

时间:2007-12-12  来源:tonywam1036

下面一段程序的作用是把阿拉伯数字转为英文数字:   sub card{
  my %card_map;
  @card_map{1..9}=qw(one two three four five six seven eight nine);
  my $num = $_;
  if ($card_map{$num}){
      $card_map{$num}; #return value
  }else{
      $num; # return value
  }
}

while (<>){
   chomp;
   print "card of $_ is ",&card($_),"\n";
   }
  有个问题,既又有 %card_map 又有 @card_map,上面的 列表变量 card_map到底是 数组(array)  还是 哈希(hash)?   其实还是 哈希,@card_map其实是一个哈希values列表的切片(slice),哈希值的列表是个数组,那么这个数组的切片仍然是个数组,因此用@符号。在perl中,用$,@,%这三个中哪一个做前缀不是看变量本身是什么类型,而是看此变量经过 1 数组查下标取值 2 哈希查表求值 3 引用解引用 后最后结果是个什么类型再放一个相应的前缀符号。  
相关阅读 更多 +
排行榜 更多 +
坦克战争世界

坦克战争世界

模拟经营 下载
丛林反击战

丛林反击战

飞行射击 下载
几何飞行安卓版

几何飞行安卓版

飞行射击 下载