您的位置:寻梦网首页编程乐园Perl 编程PERL CGI简介及指令示范
PERL CGI简介及指令示范

关联数组(Associative arrays)的用法

  关联数组也是数组的一种,是由不同的纯量变量所组成。不过和数组不同的地方是在关联数组中的元素是

由成对的key-value所组成的,也就是每一个key都有一个相对应的值(value),这是在Perl语言中特有的语法,

所以初学者对于关联数组可能会比较陌生一点,笔者会在这里作比较详细的说明。如果能够将关联数组的语法

应用在CGI程序设计中,就会发现关联数组是一个很好用的语法。
  在使用关联数组的时候要先加上%这个符号,而关联数组的格式如下:
  %ARRAY=(keyl,value1,key2,value2,key3,value3...);
  每一个key都有一个相对应的值(value)。
  l.在关联数组中增加、更改一对数据:
  $ARRAY{key}=value;
  在关联数组ARRAY中加上一对key-value,要先在关联数组名称前加上$这个符号,而且key的名称要在{}符

号之间,最后再指定key所对应的value值。如果在这个关联数组中已经有这个key了,就会更改这个key所对应

的value。
  2.取出关联数组中key所对应的value:
  $get=$ARRAY{key};
  取出在关联数组ARRAY中key所相对应的value,要先在关联数组名称前加上$这个
符号,而且key的名称要
在{}符号之间,就会将key所对应的value取出来并指定给$get这个变量。
  3.删除一对在关联数组中的数据:
  delete $ARRAY{key};
  
delete是Perl所提供的函数,作用是删除关联数组中的一个key以及这个key所对应的value。使用方法是

在delete函数之后,再指定关联数组中要删除key的名称。以下是有关关联数组用法的一些范例:

%NAMES=〈I'"one",2'"two");
$one=$NAMES{1};
#此时$one等于"one"
$two=$NAMES{2};
#此时$two等于"two"
$NAMES{3}="third";
#增加一对key-value到关联数组NAMES中


#此时%NAMES=(1'"one",2'"two",3'"third");
$NAMES{3}="three";

#因为在关联数组中已经有3这个key了,所以就

#会把key为3所对应的value更改成"three"

#此时%NAMES=(1'"one仰,2'"two",3'"three");
delete$NAMES{3};

#将关联数组中key值为3的一对key-value删除掉,
#此时%NAMES=(1'"one",2'"two"),
@X=%NAMES;
#将关联数组NAMES指派给数组X
#此时@X=(1'"one",2'"two");
%Y=@x;
#将数组X指派给关联数组Y
#此时%Y=(1'"one","two");
%NAMES=();
#此时%NAMES为一个空的关联数组

上一篇 目录 下一篇