首页 > 解决方案 > 使用字符变量访问数组元素

问题描述

假设我有一个名为:dk33 的数组和一个 string t= "dk33" 是否有可能以某种方式使用 t 来访问数组 dk33 中的元素。

data _null_;
array dk33(2) _temporary_;
dk33(1)='a';
dk33(2) ='b';
t = "dk33";
put t(1); <-- what can be done here to access the array element 1 in dk33 array?
run;

标签: sas

解决方案


您需要使用 IF/THEN 逻辑。

if t = "dk33" then put dk33(1);

如果您使用永久变量而不是临时变量,那么您可以使用该VVALUEX()函数通过其名称获取变量的格式化值,但您不能使用数组引用。

data _null_;
  array y (4) (1:4) ;
  t='y';
  length want $32;
  want=vvaluex(cats(t,1));
  put want;
run;

推荐阅读