访问/打印子数组的第n个元素,用于每个数组

时间:2016-11-04 14:28:04

标签: arrays perl

我有一个多维数组:

@multarray =  ( [ "one", "two", "three" ],
                [  4,   5,  6,  ],
                [ "alpha", "beta", "gamma" ]
              );

我可以访问@multarray[0]

[
    [0] [
        [0] "one"
        [1] "two"
        [2] "three"
    ]
]

甚至@multarray[0][0]

"one"

但我如何访问说每个子数组的第一个子元素?类似于multarray[*][0]的东西所以产生:

"one"
4
"alpha"

谢谢!

2 个答案:

答案 0 :(得分:7)

您可以使用map并取消引用每个数组:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<div class="basket__item-row">
  <div class="image">
    <div>
     I am normal div
    </div>
  </div>
  <div class="input">
    Please hide me
  </div>
</div>
<div class="basket__item-row">
  <div class="image">
    <div>
      I am extra div
      <span class="hidden-span">i-am-secret</span>
    </div>
  </div>
  <div class="input">
    Please hide me
  </div>
</div>
<div class="basket__item-row">
  <div class="image">
    <div>
     I am normal div
     <span class="hidden-span">another class</span>
    </div>
  </div>
  <div class="input">
    Please hide me
  </div>
</div>

另请参阅:perldsc

答案 1 :(得分:3)

使用for()循环,您可以遍历外部数组,并使用任何内部元素。在此示例中,我将$elem_num设置为0,这是第一个元素。对于外部数组上的每个循环,我们取每个元素(这是一个数组引用),然后,使用$elem_num变量,我们打印出内部数组的第一个元素的内容:

my $elem_num = 0;

for my $elem (@multarray){
    print "$elem->[$elem_num]\n";
}